NAG
Spis treści
Biblioteka NAG Library
NAG Library jest jedną z najpopularniejszych bibliotek podprogramów matematycznych. Pakiety biblioteki NAG obejmują m.in. następujące działy: algebrę, algebrę liniowa, interpolacje i aproksymacje, równania różniczkowe i całkowe, statystykę, programowanie liniowe, funkcje specjalne, badania operacyjne i sortowanie.
Na komputerze Zeus zainstalowane zostało następujące oprogramowanie firmy NAG:
- biblioteka NAG Fortran Library (FLL6I23DCL), Mark 23. Biblioteka zawiera procedury napisane w języku FORTRAN.
- biblioteka NAG Parallel Library (FDL6A03DP), Release 3. Biblioteka zawiera procedury zrównoleglone napisane w języku FORTRAN.
- biblioteka NAG C Library (CLL6I23DCL), Mark 23. Biblioteka zawiera procedury napisane w języku C.
- NAG Data Mining Components (DRL6A0DG), Release 2.0.
- NAG Toolbox for MATLAB (MBL6A23DML), Mark 23
Dodatkowe informacje o każdym z tych produktów i przykłady użycia zawierają notki informacyjne:
- man nag_fl - biblioteka NAG Fortran Library
- man nag_pl - biblioteka NAG Parallel Library
- man nag_cl - biblioteka NAG C Library
- man nag_dmc - NAG Data Mining Components
- man nag_matlab - NAG Toolbox for MATLAB
Sposób użycia NAG Fortan Library
Biblioteka rozprowadzana jest w 4 wersjach: statycznej i współdzielonej oraz korzystającej lub nie z biblioteki Intel Math Kernel Library (mkl).
- libnag_mkl.a - wersja statyczna, korzysta z biblioteki mkl
- libnag_mkl.so - wersja wspoldzielona, korzysta z biblioteki mkl
- libnag.a - wersja statyczna, nie korzysta z biblioteki mkl
- libnag.so - wersja współdzielona, nie korzysta z biblioteki mkl
Rekomendowane jest używanie biblioteki wykorzystującej Intel Math Kernel Library (mkl). Przed użyciem biblioteki, należy załadować odpowiednie moduły kompilatora i biblioteki:
module load libs/nag/fll6i23dcl
i wywołać kompilator.
W zależności od tego jakiej biblioteki chcemy użyć, wywołanie wygląda następująco:
- dla wersji statycznej, korzystającej z biblioteki mkl
ifort program.f90 -o program $flink_mkl
- dla wersji współdzielonej, korzystającej z biblioteki mkl
ifort program.f90 -o program $flink_mkl_so
- dla wersji statycznej, nie korzystającej z biblioteki mkl
ifort program.f90 -o program $flink
- dla wersji współdzielonej, nie korzystającej z biblioteki mkl
ifort program.f90 -o program $flink_so
Sposób użycia NAG C Library
Biblioteka rozprowadzana jest w 4 wersjach: statycznej i współdzielonej oraz korzystającej lub nie z biblioteki Intel Math Kernel Library (mkl):
- libnagc_mkl.a - wersja statyczna, korzysta z biblioteki mkl
- libnagc_mkl.so - wersja współdzielona, korzysta z biblioteki mkl
- libnagc.a - wersja statyczna, nie korzysta z biblioteki mkl
- libnagc.so - wersja współdzielona, nie korzysta z biblioteki mkl
Rekomendowane jest używanie biblioteki wykorzystującej Intel Math Kernel Library (mkl). Przed użyciem biblioteki, należy załadować odpowiednie moduły kompilatora i biblioteki:
module load libs/nag/cll6i23dcl
i wywołać kompilator.
W zależności od tego jakiej biblioteki chcemy użyć, wywołanie wygląda następująco:
- dla wersji statycznej, korzystającej z biblioteki mkl:
icc program.c -o program $clink_mkl
- dla wersji współdzielonej, korzystającej z biblioteki mkl
icc program.c -o program $clink_mkl_so
- dla wersji statycznej, nie korzystającej z biblioteki mkl:
icc program.c -o program $clink
- dla wersji współdzielonej, nie korzystającej z biblioteki mkl
icc program.c -o program $clink_so
W przypadku używania innego kompilatora, należy załadować tylko jeden moduŁ:
module load NAG/Cl
i wywołać kompilator.
Sposób użycia NAG Parallel Library
Przed kompilacją ładujemy odpowiednie moduły:
module load libs/nag/fdl6i03dcl
wywołujemy kompilator:
mpiifort program.f -o program $nagmpilink $flslink $blaslink $syslink
a następnie wykonujemy program pod kontrola MPI:
mpirun -np 4 program
Sposób użycia NAG Toolbox for MATLAB
Przed użyciem biblioteki, należy załadować odpowiedni moduł:
module load libs/nag/matlab
a po wywołaniu programu MATLAB, można wywoływać w nim podprogramy biblioteki NAG.
Lista dostępnych podprogramów znajduje się tutaj: http://www.nag.co.uk/numeric/MB/manual64_23_1/pdf/index.html
Konsultacje
Stefan Świąć, Dział Komputerów Dużej Mocy, email: s.swiac@cyfronet.pl
Lucyna Witkowska, Dział Oprogramowania, email: l.witkowska@cyfronet.pl