本ページでは、SQUIDの汎用CPUノード群でご利用いただけるライブラリについて記載します。
Intel MKL
HDF5
NetCDF
Parallel netcdf
Intel Math Kernel Library (Intel MKL)
-
Intel Math Kernel LibraryはIntel社が開発している数値演算ライブラリです。BLAS、LAPACK、 ScaLAPACK等を含む多様なライブラリの利用が可能です。本システムでは、BaseCPUモジュールで読み込まれる Intel社製コンパイラの環境で利用可能です。ご利用いただく前に、予めBaseCPU環境をロードしてください。
module load BaseCPU/2021
以下に本システムでの、ライブラリのリンク例を記載します。
シリアル実行でMKLをリンク
$ module load BaseCPU/2021
$ icc -mkl=sequential sample.c # 動的リンク
$ icc -mkl=sequential -static-intel sample.c # 静的リンク
スレッド並列実行でMKLをリンク
$ module load BaseCPU/2021
$ icc -mkl=parallel sample.c # 動的リンク
$ icc -mkl=parallel -static-intel sample.o # 静的リンク
MPI並列実行でMKLをリンク
$ module load BaseCPU/2021
$ mpiicc -mkl=cluster sample.c # 動的リンク
$ mpiicc -mkl=cluster -static-intel sample.c # 静的リンク
Intel MKLの詳細な利用方法は、公式のオンラインドキュメントをご参照ください。
Modul Intel Math Kernel Library – Documentation
HDF5
-
HDF5は、大量データを階層的に構造化して格納することが可能なファイルを生成するためのライブラリです。計算環境毎に整備されています。このライブラリを利用するためには、コンパイル時に-lhdf5 のオプションを付与します。以下はライブラリのリンク例です。
$ module load BaseCPU
$ module load hdf5
$ icc -o h5-sample h5-sample.c -lhdf5
NetCDF
-
NetCDFは、科学的な多次元データを格納する目的で、共通データ形式として広く使われているバイナリファイルフォーマットが利用できるライブラリです。本システムでは、計算環境毎に、C言語/C++言語/FORTRAN言語のそれぞれから利用できるように整備されています。ライブラリを利用するためには、コンパイル時に-lnetcdf等 のオプションを付与します。以下はライブラリのリンク例です。
C言語
$ module load BaseCPU
$ module load netcdf-c
$ icc -o ncdf-sample ncdf-sample.c -lnetcdf
C++言語
$ module load BaseCPU
$ module load netcdf-cxx
$ icpc -o ncdf-sample ncdf-sample.cpp -lnetcdf_c++4 -lnetcdf
FORTRAN言語
$ module load BaseCPU
$ module load netcdf-fortran
$ ifort -o ncdf-sample ncdf-sample.f90 -lnetcdff -lnetcdf
PnetCDF
-
PnetCDFは、NetCDF形式のファイルに対して、並列プログラムから同時アクセスを行うためのライブラリです。本システムでは、計算環境毎に、C言語/C++言語/FORTRAN言語のそれぞれから利用できるように整備されています。ライブラリを利用するためには、コンパイル時に-lpnetcdf等 のオプションを付与します。以下はライブラリのリンク例です。
C言語
$ module load BaseCPU
$ module load pnetcdf-c
$ mpiicc -o pncdf-sample pncdf-sample.c -lpnetcdf
C++言語
$ module load BaseCPU
$ module load pnetcdf-cxx
$ mpiicpc -o pncdf-sample pncdf-sample.cpp -lpnetcdf
FORTRAN言語
$ module load BaseCPU
$ module load pnetcdf-fortran
$ mpiifort -o pncdf-sample pncdf-sample.f90 -lpnetcdf