OpenMathLib / OpenBLAS

OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
http://www.openblas.net
BSD 3-Clause "New" or "Revised" License
6.39k stars 1.5k forks source link

GEADD is pointless without transposition #4646

Open jeffhammond opened 7 months ago

jeffhammond commented 7 months ago

?GEADD has virtually no utility over ?AXPBY, which is itself unoptimizable (i.e. the equivalent loops, optimized by a compiler, will perform at least as well in all cases).

Both appleblas_?geadd and cublas?geam support transposition, which is useful, in part because transposition is nontrivial to optimize.

cblas_?omatcopy, which is inspired by MKL, has transpose but does not support the generality of accumulation of the former.

It would be nice to have a GEAM-style routine in OpenBLAS.

martin-frbg commented 7 months ago

I don't know if it is actually pointless, but it is the variant of GEADD that was originally implemented by ATLAS. (Fun with names of non-standardized BLAS extensions, I guess the most feature-rich GEADD is the one in IBM's ESSL ? Also patches welcome...)

jeffhammond commented 7 months ago

i'll try to work on a patch.

i have not found a single application that uses ?GEADD, but i know that lots of code isn't publicly available.

martin-frbg commented 7 months ago

None of the codes available to me seem to use it, neither does anything public on github AFAICT, there never was any complaint about the lack of transpositions here (or about the lack of GEADD in the reference implementation either), so maybe it might as well not exist ? :)