BLAS is a de facto application programming interface standard for publishing libraries to perform basic linear algebra operations such as vector and matrix multiplication. They were first published in 1979, and are used to build larger packages. (J. Dongarra, Basic Linear Algebra Subprograms Technical Forum Standard, International Journal of High Performance Applications and Supercomputing, 16(1) (2002), pp. 1–111, and International Journal of High Performance Applications and Supercomputing, 16(2) (2002), pp. 115–199.)

They are heavily used in high-performance computing. There are several BLAS implementations, for example:


  • Intel MKL: The Intel Math Kernel Library, supporting the Intel Pentium and Itanium CPUs under Linux, Windows and MacOS X. Unfortunately, it's not free and not cheap.

  • ACML: The AMD Core Math Library, supporting the AMD Athlon and Opteron CPUs under Linux and Windows. It's free, but only available for AMD based 64 bit applications.

  • ESSL: IBM’s Engineering and Scientific Subroutine Library, supporting the PowerPC architecture under AIX and Linux.



The trick with the Intel and AMD libraries is: they are optimal for their implementation of the x86 architecture. That means, given two processors, one from Intel and one from AMD, that perform perfectly equal in everything else, running the Intel math library will work better for the Intel processor and the AMD library will work for the AMD processor better.

Is there any other useable library which works well with both?

Gunther
Posted on 2010-08-18 11:36:29 by Gunther
googling "BLAS" gives this page http://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms as the first result
Basic Linear Algebra Subprograms (BLAS) is a de facto application programming interface standard for publishing libraries to perform basic linear algebra operations such as vector and matrix multiplication. They were first published in 1979, and are used to build larger packages such as LAPACK.
ATLAS pokes the eye with the "open source" definition in it's description.
Looks like it has handwritten (optimized!) assembler code in GAS (GAS GAS  :D) format and a portion in NASM format.

Cheers
Posted on 2010-08-19 08:08:26 by drizz
Of the libraries listed on that wikipedia page, ATLAS pokes the eye with the "open source" definition in it's description.


Sounds good. Thank you for the link.

Looks like it has handwritten (optimized!) assembler code in GAS format and a portion in NASM format.


Yes, it seems. By the way, GAS is a very funny sound. Which language is that? I can understand a few words, but not much.

By the way, did you read that interesting article about that guy?

http://www.nytimes.com/2005/11/28/technology/28super.html?scp=1&sq=Kazushige%20Goto&st=cse

Gunther
Posted on 2010-08-19 17:06:30 by Gunther
By the way, GAS is a very funny sound. Which language is that? I can understand a few words, but not much.

It's mostly(all? i wouldn't know) Roma language... but don't ask me to define the genre ( - balkan ethno roma folk ...)
"Gas Gas" in free translation would be : "gas gas" (:D), "pedal to the metal"

By the way, did you read that interesting article about that guy?

http://www.nytimes.com/2005/11/28/technology/28super.html?scp=1&sq=Kazushige%20Goto&st=cse
I agree with him, it is passion.
Posted on 2010-08-19 18:45:53 by drizz
t's mostly(all? i wouldn't know) Roma language... but don't ask me to define the genre ( - balkan ethno roma folk ...)


It's amazing, but with my school Russian I can understand a little bit, not all, that's clear.

I agree with him, it is passion.


I aggree, too. Would be fine to have him here in the forum. Rumors say, that is now working for MS.

Gunther
Posted on 2010-08-19 21:04:03 by Gunther