ATLAS

ATLAS
Produkt: ATLAS
Producent: środowisko open source
Licencja: BSD
Wersja: 3.6.0
Email: pomoc@icm.edu.pl
Podstawowe informacje
Przykład w C
Przykład w Fortranie

Biblioteka ATLAS (Automatically Tuned Linear Algebra Software) jest zbiorem matematycznych funkcji algebry liniowej dla języków C i Fortran. W trakcie instalacji biblioteki stosowane są empiryczne techniki optymalizacyjne, automatycznie wybierające najwydajniejsze wersje kodu.

ATLAS implementuje bibliotekę BLAS na poziomach 1, 2 i 3, oraz podzbiór biblioteki LAPACK.

Spis treści

Korzystanie na klastrze halo

Biblioteka ATLAS dostępna jest w trybie 32- i 64-bitowym. W większości przypadków należy korzystać z wersji 64-bitowej, która jest zgodna z domyślnymi ustawieniami kompilatora. Poniżej znajduje się opis sposobu korzystania z biblioteki.

Warto też zobaczyć konkretne polecenia kompilacji i linkowania zamieszczone wraz z przykładowymi programami w języku C i języku Fortran.

Tryb 64-bitowy

Przy domyślnych ustawieniach kompilacji należy korzystać z tej właśnie, 64-bitowej wersji biblioteki ATLAS.

Na etapie kompilacji programów w języku C (dowolnym kompilatorem) należy dodatkowo użyć następujących opcji:

 -I/opt/atlas/64/include

Na etapie linkowania programów w języku C (dowolnym kompilatorem) należy dodatkowo użyć następujących opcji (kolejność opcji jest ważna):

 -L/opt/atlas/64/lib -lcblas -lf77blas -latlas -lf2c

Na etapie linkowania programów w języku Fortran przy pomocy kompilatora GNU należy dodatkowo użyć następujących opcji (kolejność opcji jest ważna):

 -L/opt/atlas/64/lib -lf77blas -latlas

Na etapie linkowania programów w języku Fortran przy pomocy kompilatora Portland Group należy dodatkowo użyć następujących opcji (kolejność opcji jest ważna):

 -L/opt/atlas/64/lib -lf77blas -latlas -lf2c

Tryb 32-bitowy

Uwaga: z wersji 32-bitowej należy korzystać tylko w sytuacji, gdy program kompilowany jest w trybie 32-bitowym. Domyślnie kompilatory na klastrze halo tworzą programy 64-bitowe.

Na etapie kompilacji programów w języku C (dowolnym kompilatorem) należy dodatkowo użyć następujących opcji:

 -I/opt/atlas/32/include

Na etapie linkowania programów w języku C (dowolnym kompilatorem) należy dodatkowo użyć następujących opcji (kolejność opcji jest ważna):

 -L/opt/atlas/32/lib -lcblas -lf77blas -latlas -lf2c

Na etapie linkowania programów w języku Fortran przy pomocy kompilatora GNU należy dodatkowo użyć następujących opcji (kolejność opcji jest ważna):

 -L/opt/atlas/32/lib -lf77blas -latlas

Na etapie linkowania programów w języku Fortran przy pomocy kompilatora Portland Group należy dodatkowo użyć następujących opcji (kolejność opcji jest ważna):

 -L/opt/atlas/32/lib -lf77blas -latlas -lf2c

Przykładowe programy

Oto przykładowe programy, wraz z poleceniami kompilacji, pokazujące jak korzystać z biblioteki ATLAS:

Programy te dostępne są też na klastrze halo w katalogu /opt/atlas/examples/

Brak równoległości

Funkcje z biblioteki ATLAS nie korzystają z bibliotek równoległych. W programach równoległych każdy z procesów może korzystać z funkcji BLAS i LAPACK niezależnie od pozostałych. Zainstalowana wersja nie korzysta także z biblioteki pthreads.

Dokumentacja

Porada: W przypadku wątpliwości co do znacznia poszczególnych argumentów w funkcjach BLAS, warto spojrzeć do dokumentacji Cray'owej biblioteki BLAS zainstalowanej na tornado. Jest to, co prawda, inny pakiet, ale implementuje te same standardowe funkcje, a Cray'owa implementacja jest doskonale udokumentowana w postaci stron podręcznika (manpages). Przykład użycia: man dgemv