Main libraries

lib/github.com/diku-dk/sparse/compressed

Compressed sparse matrices.

lib/github.com/diku-dk/sparse/matrix_irregular

Module type for sparse matrix operations. The abstract matrix type mat is size-lifted to indicate its potential irregular-sized structure. The module type is declared local to avoid that outside code makes direct use of the module type.

lib/github.com/diku-dk/sparse/matrix_regular

Module type for regular sparse matrix operations. The abstract matrix type mat is not size-lifted. The module type is declared local to avoid that outside code makes direct use of the module type.

lib/github.com/diku-dk/sparse/trapezoidal

Sparse trapezoidal matrices.

lib/github.com/diku-dk/sparse/triangular

Sparse triangular matrices.

Supporting libraries

/prelude/ad

Definitions related to automatic differentiation.

/prelude/array

Utility functions for arrays.

/prelude/functional

Simple functional combinators.

/prelude/math

Basic mathematical modules and functions.

/prelude/prelude

The default prelude that is implicitly available in all Futhark files.

/prelude/soacs

Various Second-Order Array Combinators that are operationally parallel in a way that can be exploited by the compiler.

/prelude/zip

Transforming arrays of tuples into tuples of arrays and back again.

lib/github.com/diku-dk/linalg/linalg

Small library of simple linear algebra-ish operations.

lib/github.com/diku-dk/segmented/segmented

Irregular segmented operations, like scans and reductions.