cusparse<t>axpyi
and cusparse<t>doti
are function names in cuSPARSE, the CUDA sparse matrix library.
The naming conventions section explains <t>
denotes data types, and axpyi
, doti
, roti
all denote operations. However it does not further explain what the 'i' means in those names.
FYI, cusparse<t>axpyi
performs a * x + y
(so I guess 'axpy' means 'ax plus y').
cusparse<t>doti
performs dot product of a sparse vector x
and a dense vector y
.
cusparse<t>roti
performs rotations (actually I'm not clear on how that works either).
Thank @talonmies for the info!
Very likely cuSPARSE is following the sparse BLAS naming conventions (read the paper therein):
If a sparse BLAS routine is an extension of a dense BLAS, the subprogram name is formed by appending a suffix character,
I
, standing for indexed, to the dense name.
Or you can read that from the Intel MKL website (which is much more direct):
If a sparse BLAS routine is an extension of a "dense" one, the subprogram name is formed by appending the suffix
i
(standing for indexed) to the name of the corresponding "dense" subprogram.