NAG

Z Komputery Dużej Mocy w ACK CYFRONET AGH
Wersja z dnia 10:51, 11 wrz 2013 autorstwa Maciej (dyskusja | edycje) (Utworzył nową stronę „{{DISPLAYTITLE:NAG}} ==Biblioteka NAG Library== NAG Library jest jedną z najpopularniejszych bibliotek podprogramów matematycznych. Pakiety biblioteki NAG ...”)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Skocz do:nawigacja, szukaj

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