Boost logo

Ublas :

Subject: [ublas] [bindings] BLAS Function Mapping
From: Rutger ter Borg (rutger_at_[hidden])
Date: 2009-03-10 10:06:42

Dear all,

I'm looking into the writing of the high-level blas functions, which turns
out to be not that much work. I've come to a point where I think it is
useful to discuss the mapped bindings function naming. Please see below for
a first shot at it:

Level 1
BLAS Mapped binding function name
rotg create_rotation
rotmg create_rotation
rot apply_rotation
rotm apply_rotation
swap swap
scal scale
copy copy
axpy axpy
dot dot
dotu dot
dotc dot(conj(),)
xxdot prec_dot
nrm2 norm_2
asum norm_1
iamax norm_inf

Level 2
BLAS Mapped binding function name
gemv mv ??
gbmv mv
gemv mv
hbmv mv
hpmv mv
symv mv
sbmv mv
spmv mv
trmv mv (or other?)
tbmv mv (or other?)
tpmv mv (or other?)
trsv forward_solve, back_solve
tbsv forward_solve, back_solve
tpsv forward_solve, back_solve
ger rank_1_update
geru rank_1_update
gerc rank_1_update
her rank_1_update
hpr rank_1_update
her2 rank_2_update
hpr2 rank_2_update
syr rank_1_update
spr rank_1_update
syr2 rank_2_update
spr2 rank_2_update

Level 3
BLAS Mapped binding function name
gemm mm ???
symm mm
hemm mm
syrk rank_k_update
herk rank_k_update
syr2k rank_2k_update
her2k rank_2k_update
trmm mm
trsm forward_solve, back_solve

I'm not happy with mv and mm in particular, and perhaps some of the others
are too wordy as well.