Do all BLAS routines compute the respective operation with minimum error ?

i.e. Is the reduction in sdot computed with least error ?

I need to call these routines through gsl/gsl_cblas.h.


2 Answers 2


BLAS routines do not typically use stable summation algorithms. In the case of gsl, you can look up its source code online - the source of gsl's sdot is contained in gsl/cblas/source_dot_r.h, and contains this loop:

  for (i = 0; i < N; i++) {
    r += X[ix] * Y[iy];
    ix += incX;
    iy += incY;

It's just a straightforward sum. The corresponding version in the BLAS library itself is here, and is implemented in essentially the same way.


Unfortunately, the "standard" BLAS implementations does not provide this feature. But due to the goals the scientific community want to achieve with the Exascale Computing serval "reproducible" BLAS implementation are in development. Reproducibility is not the same as minimal error evaluation but it is one necessary part of it. And the reproducible BLAS libraries might provide error bounds for the computed results.

Two libraries focusing on this are:


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.