NAG

Z Komputery Dużej Mocy w ACK CYFRONET AGH
Wersja z dnia 07:46, 8 mar 2016 autorstwa Ypwitkow (dyskusja | edycje) (→‎Konsultacje)
(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 mars zainstalowane zostało następujące oprogramowanie firmy NAG:

  • biblioteka NAG Fortran Library (FLL6I24DCL), Mark 24. 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 Intel/12.1
 module load NAG/Fl

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 Intel/12.1
 module load NAG/Cl

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. Na przykład dla gcc można wykonać komendę:

 gcc program.c $gcclink_mkl_so


Sposób użycia NAG Parallel Library

Przed kompilacją ładujemy odpowiednie moduły:

 module load  NAG/Pl Intel/12.1

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 Data Mining Components

Przed użyciem biblioteki, należy załadować odpowiedni moduł biblioteki:

 module load NAG/dmc

i wywołać kompilator:

 gcc program.c -o program $dmclink


Sposób użycia NAG Toolbox for MATLAB

Przed użyciem biblioteki, należy załadować odpowiedni moduł:

 module load 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ł Użytkowników Komputerów Dużej Mocy, email: s.swiac@cyfronet.pl

Lucyna Witkowska, Dział Użytkowników Komputerów Dużej Mocy, email: l.witkowska@cyfronet.pl