Skip to content

Hand-tuned WebAssembly implementations for efficient execution of web-based sparse computations including Sparse Matrix-Vector Multiplication (SpMV), sparse triangular solve (SpTS) and other useful sparse matrix operations.

License

Sable/SciWasm.Sparse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

SciWasm.Sparse

SciWasm.Sparse is a web-based computing framework that offers efficient and scalable sparse matrix CPU kernels to support high-performance computing in web browsers. It supports both serial and parallel Sparse BLAS Level II operations, element-wise operations, and conversion routines for a number of sparse matrix storage formats.

To run a serial single-precision sparse matrix-vector multiplication (SpMV) benchmark

cd sequential/tests
./run -b <browser> -p single -t spmv <matrix_market_input_file_path>

where <browser> is chrome for Google Chrome and firefox for Mozilla Firefox

Supported Sparse BLAS Level II Operations

Operation Description Implementation Status
SpMV Sparse Matrix-Vector Multiplication Available
SpTS Sparse Triangular Solve Available

Supported Element-Wise Operations

Operation Description Implementation Status
ceil ceiling function Available
floor floor function Available
deg2rad degrees to radians function Available
rad2deg radians to degrees function Available
expm1 exp(x) - 1 Available
log1p log(1 + x) Available
power power function Available
rint round function Available
trunc truncate function Available
sign sign indication Available
sin Trigonometric sine Available
tan Trigonometric tangent Available
sqrt square-root function Available
multiply element-wise multiply by scalar Available

Supported Format Conversion Operations

Operation Description Implementation Status
coo_csr COO to CSR Available
csr_dia CSR to DIA Available
csr_ell CSR to ELL Available

Other Supported Operations

Operation Description Implementation Status
transpose returns transposed sparse matrix Available
eliminate_zeros removes zero entries from the matrix Available

About

Hand-tuned WebAssembly implementations for efficient execution of web-based sparse computations including Sparse Matrix-Vector Multiplication (SpMV), sparse triangular solve (SpTS) and other useful sparse matrix operations.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published