Fortran: BLAS ATLAS
Fortran:Vorlage: NavigationMain
Allgemeines
Die Basic Linear Algebra Subprograms (BLAS) stellen eine Sammlung von Unterprogrammen für die Vektor- und Matrizenrechnung dar.
- Level 1: Skalar-Vektor-, Vektor-Vektor-Operationen
- Level 2: Matrix-Vektor-Operationen
- Level 3: Matrix-Matrix-Operationen
Die Automatically Tuned Linear Algebra Software (ATLAS) ist ein um einige LAPACK-Funktionen erweitetertes BLAS-Paket und bietet die Möglichkeit, automatisiert eine rechneroptimierte Algebra-Bibliothek zu erzeugen.
Installation von BLAS
BLAS wird in Form von Fortran-Quellcodedateien in einem gepackten tar-Paket zur Verfügung gestellt. Ein Makefile zur Generierung einer Bibliotheksdatei wird nicht mitgeliefert. Eine derartige Bibliotheksdatei kann aber einfach selbst erstellt werden. Eine Anleitung findet sich z.B. auf der gfortran-Dokumentationsseite. Die notwendigen Schritte sind:
- blas.tgz downloaden
- Dieses Paket in ein leeres Verzeichnis entpacken
- Bibliothek erstellen ("shared library" oder "static library"):
- In Form einer "shared library":
gfortran -shared -O2 *.f -o libblas.so -fPIC - In Form einer "static library":
gfortran -O2 -c *.f
ar cr libblas.a *.o
- In Form einer "shared library":
- Die daraus resultierende Bibliotheksdatei in ein geeignetes Verzeichnis verschieben (z.B. /usr/lib/ oder /usr/local/lib/)
Beispiele
Beispiel: Die Level 1-Funktionen sdot und dnrm2
Kompilieren und Linken:
gfortran bsp.f95 -lblas
Beispiel: Die Level 2-Subroutine sger
sger steht für:
- s ... REAL
- ge ... general matrix
- r ... rank 1 operation
Mathematisch ist damit folgende Operation gemeint:
wobei A eine mxn-Matrix ist, x und y stellen Vektoren dar.
Das nachfolgende Beispiel führt konkret folgende Rechnung aus: