Skip to content

avulanov/scala-blas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

scala-blas

Benchmarks of BLAS libraries with Scala interface

Description

This project contains benchmarks for matrix-matrix multiplication of various libraries that have Scala interface. Currently, they are

  • Breeze, which can use any BLAS library with CBLAS interface by means of underlying Netlib-java
    • OpenBLAS, open source CPU optimized library
    • NVBLAS, proprietary Fortran-BLAS wrapper for few functions from GPU optimized library CUBLAS
    • Intel MKL, proprietary CPU optimized library
    • f2jblas, reference Java BLAS implementation
  • BIDMat, based on Intel MKL and GPU CUDA
    • Own wrapper and optimizations for GPU CUBLAS
    • Own wrapper and optimizations for Intel MKL

Sources

Sources contain Scala code snippets that are used to run benchmarks

Results

Spreadsheets with results, each tab is a different hardware configuration: https://docs.google.com/spreadsheets/d/1lWdVSuSragOobb0A_oeouQgHUMx378T9J5r7kwKSPkY/edit#gid=0

Glossary

  • BLAS - Basic Linear Algebra Subprograms, general term for linear algebra in software, might be misleading becuase it does not mean any specific interface
  • Fortran BLAS - Reference Fortran interface for BLAS
  • CBLAS - reference C interface for BLAS
  • CUBLAS - proprietary (non-standard) interface for BLAS
  • NVBLAS - proprietary reference Fortran-BLAS wrapper for few functions from GPU optimized library CUBLAS
  • Netlib - repository of software for scientific computing

Relevant links

About

Benchmarks of BLAS libraries with Scala interface

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages