Nag: Różnice pomiędzy wersjami

Z Komputery Dużej Mocy w ACK CYFRONET AGH
Skocz do:nawigacja, szukaj
Linia 38: Linia 38:
  
 
W  zależności  od  tego  jakiej  biblioteki  chcemy  użyć, wywołanie wygląda następująco:
 
W  zależności  od  tego  jakiej  biblioteki  chcemy  użyć, wywołanie wygląda następująco:
* dla wersji statycznej, korzystajacej z biblioteki mkl
+
* dla wersji statycznej, korzystającej z biblioteki mkl
  
 
   ifort program.f90 -o program $flink_mkl
 
   ifort program.f90 -o program $flink_mkl
Linia 58: Linia 58:
 
==Sposób użycia NAG C Library==
 
==Sposób użycia NAG C Library==
  
Bibliteka rozprowadzana jest w 4 wersjach: statycznej i współdzielonej oraz korzystającej lub nie z biblioteki Intel Math Kernel Library (mkl):
+
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.a - wersja statyczna, korzysta z biblioteki mkl
 
* libnagc_mkl.so - wersja współdzielona, korzysta z biblioteki mkl
 
* libnagc_mkl.so - wersja współdzielona, korzysta z biblioteki mkl
Linia 137: Linia 137:
 
==Konsultacje==
 
==Konsultacje==
  
Stefan Świąć, Dział Komputerow Dużej Mocy, email: s.swac@cyfronet.pl
+
Stefan Świąć, Dział Komputerów Dużej Mocy, email: s.swiac@cyfronet.pl
  
 
Lucyna Witkowska, Dział Oprogramowania, email: l.witkowska@cyfronet.pl
 
Lucyna Witkowska, Dział Oprogramowania, email: l.witkowska@cyfronet.pl

Wersja z 08:23, 28 mar 2013

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 (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 22

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 trzeba dodać ścieżkę do katalogu, w którym są zainstalowane podprogramy biblioteki NAG, komendą:

 >>addpath('/opt1/NAG/matlab/toolbox/NAG/mex.a64/','-end');

Konsultacje

Stefan Świąć, Dział Komputerów Dużej Mocy, email: s.swiac@cyfronet.pl

Lucyna Witkowska, Dział Oprogramowania, email: l.witkowska@cyfronet.pl