Oratio, Ophelia, and Amlet make heavy use of CBlas routines, the C version of Blas. Many implementations exist, most of them proprietary and restricited to some specific architectures. We only review three open-source implementations: GotoBlas2, GSL Blas, and ATLAS.

OpenBlas

While not officially stable, OpenBlas is the currently recommanded library. It is based on GotoBlas2, and benefits from a better maintenance, so that several issues present in GotoBlas2 have been addressed. OpenBlas is distributed under the BSD License.

GotoBlas2

GotoBlas2 is a Blas implementation proposed by the University of Texas at Austin. Praised as one of the best implementations, it has been released under BSD license in 2010. We therefore strongly recommend its use, and Ophelia and Amlet are compiled by default with GotoBlas if detected. A local copy is hosted, that has been tested on Arch Linux, Fedora 7, SuSE 11.3, and Mac OS X 10.6.8. On Arch Linux, the compilation required a slight modification of the script f_check, available in the download section.

GSL Blas

GSL Blas is supported only for convenience reasons, as it is available as a package on all the major distributions. The GPL is however incompatible with OSL, used for many parts of the software. However, neither Ophelia nor AMLET can be considered a derived work of GSL Blas as the code can be compiled without any modifications with other Blas implementations. We also strongly discourage potential contributors to place code unde GPL due to the insane compatibility issues, studied for instance when establishing the European Union Public License. In no case could any portion of the code proposed on this site be distributed under GPL.

ATLAS

ATLAS is another free implementation of Blas, far better than the GSL one, but which present various issues during the installation process. Ophelia and AMLET will try to detect ATLAS is neither GotoBLAS2 nor GSL Blas have been found. Note however the you have to install ATLAS as shared libraries in order to be able to run the code.


© Fabian Bastin.