hmatrix-morpheus alternatives and similar packages
Based on the "hmatrix" category.
Alternatively, view hmatrix-morpheus alternatives based on common mentions on social networks and blogs.
-
hmatrix-sundials
Haskell interface to the sundials suite of nonlinear and differential/algebraic equation solvers -
hmatrix-syntax
MATLAB-like syntax for hmatrix vectors and matrices -
hmatrix-mmap
Extend the Haskell hmatrix package with the ability to mmap vectors -
hmatrix-repa
Compatability between hmatrix and repa matrices and vectors -
hmatrix-nipals
Haskell library for Nonlinear Iterative Partial Least Squares method for Principal Components Analysis on large datasets -
hmatrix-vector-sized
Conversion between hmatrix and vector-sized types
Free Global Payroll designed for tech teams
Do you think we are missing an alternative of hmatrix-morpheus or a related project?
README
morpheus
The library contains a bunch of cache line aware numerical algorithms suitable for using as a low-level primitives to build machine learning applications.
Naive implementations, which do not take into account cache lines, would suffer order of magnitude performance degradation if tried to traverse a row major matrix in column order.
The library functions take into account CPU cache and work well for both row major and column major matrices, as you can see from the benchmark below which measure time for finding indices of max elements for every column and every row:
Benchmark | Time |
---|---|
column_max_index - row_major | 0.892378 ms |
column_max_index - col_major | 0.845999 ms |
row_max_index - row_major | 0.879663 ms |
row_max_index - col_major | 0.870022 ms |
Build and run tests
make test
Build and run benchmarks
make bench
Build against OpenBLAS
macOS
- Homebrew:
brew install homebrew/science/openblas
OPENBLAS=`brew --prefix openblas` make
Linux
- Debian/Ubuntu:
apt-get install libopenblas-dev
OPENBLAS=/usr make
Generate documentation
make docs
requires doxygen