Boost logo

Ublas :

Subject: [ublas] [bindings][blas] Included CBLAS support
From: Rutger ter Borg (rutger_at_[hidden])
Date: 2009-10-14 08:48:32


Hello all,

I've included a first version of support for CBLAS and CUBLAS in the BLAS
bindings. The idea is to select the BLAS backend by defining a preprocessor
variable. E.g., write your code once,

blas::gemv( 'N', 1.0, A, x, 1.0, y );

and compile and link the same program against different implementations
using a preprocessor statement,

g++ test.cpp -lblas
g++ -DBOOST_NUMERIC_BINDINGS_BLAS_CBLAS test.cpp -lcblas
g++ -DBOOST_NUMERIC_BINDINGS_BLAS_CUBLAS test.cpp -lcublas

To unify the interface, the character arguments to BLAS calls are translated
to cblas enums, matrix orientation is assumed to be column major by default.
IMHO, this makes the ATLAS bindings obsolete.

If you're able to help testing and/or have suggestions, please let me know.

Cheers,

Rutger