ATLAS
From Centrum Komputerów Dużej Mocy, ICM Uniwersytet Warszawski
| ATLAS | |
|---|---|
| Produkt: | ATLAS |
| Producent: | środowisko open source |
| Licencja: | BSD |
| Zainstalowany na: | halo |
| 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.
Contents |
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
- ANSI/ISO C BLAS API reference (ps)
- Fortran77 BLAS API reference (ps)
- Fortran77 and C LAPACK API reference (ps)
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
Category: Oprogramowanie
