本ページでは、SQUIDのGPUノード群でご利用いただけるライブラリについて記載します。
※GPGPU計算環境向けFORTRANコンパイラ(nvfortran)に対して注意事項があります。nvfortranには、環境変数に従ってinclude ファイルの検索パスを変更する機能がありません。このため、module コマンドで設定されたCPATH環境変数を、コンパイル時に -I オプションにて引き渡す必要があります。実行例は以下となります。
$ nvfortran -o sample sample.f90 -I${CPATH}
HDF5
-
HDF5は、大量データを階層的に構造化して格納することが可能なファイルを生成するためのライブラリです。計算環境毎に整備されています。このライブラリを利用するためには、コンパイル時に-lhdf5 のオプションを付与します。以下はライブラリのリンク例です。
$ module load BaseGPU
$ module load hdf5
$ nvc -o h5-sample h5-sample.c -lhdf5 -R${LD_RUN_PATH}
NetCDF
-
NetCDFは、科学的な多次元データを格納する目的で、共通データ形式として広く使われているバイナリファイルフォーマットが利用できるライブラリです。本システムでは、計算環境毎に、C言語/C++言語/FORTRAN言語のそれぞれから利用できるように整備されています。ライブラリを利用するためには、コンパイル時に-lnetcdf等 のオプションを付与します。以下はライブラリのリンク例です。
C言語
$ module load BaseGPU
$ module load netcdf-c
$ nvc -o ncdf-sample ncdf-sample.c -lnetcdf
f
C++言語
$ module load BaseGPU
$ module load netcdf-cxx
$ nvc++ -o ncdf-sample ncdf-sample.cpp -lnetcdf_c++4 -lnetcdf
FORTRAN言語
$ module load BaseGPU
$ module load netcdf-fortran
$ nvfortran -o ncdf-sample ncdf-sample.f90 -I${CPATH} -lnetcdff -lnetcdf
PnetCDF
-
PnetCDFは、NetCDF形式のファイルに対して、並列プログラムから同時アクセスを行うためのライブラリです。本システムでは、計算環境毎に、C言語/C++言語/FORTRAN言語のそれぞれから利用できるように整備されています。ライブラリを利用するためには、コンパイル時に-lpnetcdf等 のオプションを付与します。以下はライブラリのリンク例です。
C言語
$ module load BaseGPU
$ module load pnetcdf-c
$ mpicc -o pncdf-sample pncdf-sample.c -lpnetcdf
C++言語
$ module load BaseGPU
$ module load pnetcdf-cxx
$ mpic++ -o pncdf-sample pncdf-sample.cpp -lpnetcdf
FORTRAN言語
$ module load BaseGPU
$ module load pnetcdf-fortran
$ mpifort -o pncdf-sample pncdf-sample.f90 -I${CPATH} -lpnetcdf