Skip to content

A small library for ultra fast matrix multiplication of special diagonal block matrices.

License

Notifications You must be signed in to change notification settings

iicurtis/hal-cse-join

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A small library for ultra fast matrix multiplication of special diagonal block matrices.

Usage

./diagblock n d

where n is the array size, and d is the size of the diagonal.

Example

./diagblock 16 8
Initializing...    n: 16  d: 16

Generating initial blocks.
Done. Matrix size: 65536.

===EIGEN SPARSE===
  Building Eigen Sparse Matrix... Done.
  Matmul:        0 milliseconds

===EIGEN DENSE====
  Building Eigen Dense Matrix... Done.
  Matmul:        0 milliseconds

===GSL DENSE======
  Building GSL Dense Matrix... Done.
  Matmul:        1 milliseconds

===DiagBlock ======
  Building DiagBlock Dense Matrix... Done.
  Matmul:        0 milliseconds

Compiling

Requires:

  • CMake 3.5+
  • GSL
  • Eigen

Simply create a build directory and use cmake.

mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make

Roadmap

  • Get idea working with Eigen
  • Implement tests
  • Implement matrix storage
  • Matrix multiplication
  • Parallel programming + SIMD
  • Matrix Inverse

About

A small library for ultra fast matrix multiplication of special diagonal block matrices.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published