Skip to content

Sparse Matrix Algebra DLLs

Compare
Choose a tag to compare
@michabirklbauer michabirklbauer released this 01 Feb 15:28
· 111 commits to master since this release
7891352

Implements the following methods across two DLLs:

  • VectorSearch.dll (v1.6.1):
    • findTopCandidates: sparse matrix - sparse vector multiplication [f32] using Eigen.
    • findTopCandidates2: sparse matrix - dense vector multiplication [f32] using Eigen.
    • findTopCandidates2Int: sparse matrix - dense vector multiplication [i32] using Eigen.
    • findTopCandidatesBatched: sparse matrix - sparse matrix multiplication [f32] using Eigen.
    • findTopCandidatesBatched2: sparse matrix - dense matrix multiplication [f32] using Eigen.
    • findTopCandidatesBatched2Int: sparse matrix - dense matrix multiplication [i32] using Eigen.
  • VectorSearchCUDA.dll (v1.4.8):
    • findTopCandidatesCuda: sparse matrix - dense vector multiplication [f32] using CUDA (SpMV).
    • findTopCandidatesCudaBatched: sparse matrix - sparse matrix multiplication [f32] using CUDA (SpGEMM).
    • findTopCandidatesCudaBatched2: sparse matrix - dense matrix multiplication [f32] using CUDA (SpMM).

VectorSearch.dll implements functions that run on the CPU, while VectorSearchCUDA.dll implements functions that run on a NVIDIA GPU using CUDA (version 12.2.0_536.25_windows).

Includes changes introduced with #29 as discussed in #17.

DLLs are compiled for Windows (10+, x64), for other operating systems/architectures please compile the source code yourself!

What's Changed

Full Changelog: DLL_release3...DLL_release4