本ページでは、OCTOPUSの汎用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
以下に本システムでの、ライブラリのリンク例を記載します。
シリアル実行でMKLをリンク
$ module load BaseCPU
$ icx -qmkl=sequential sample.c # 動的リンク
$ icx -qmkl=sequential -static-intel sample.c # 静的リンク
スレッド並列実行でMKLをリンク
$ module load BaseCPU
$ icx -qmkl=parallel sample.c # 動的リンク
$ icx -qmkl=parallel -static-intel sample.c # 静的リンク
MPI並列実行でMKLをリンク
$ module load BaseCPU
$ mpiicx -qmkl=cluster sample.c # 動的リンク
$ mpiicx -qmkl=cluster -static-intel sample.c # 静的リンク
Intel MKLの詳細な利用方法は、公式のオンラインドキュメントをご参照ください。
Modul Intel Math Kernel Library – Documentation
HDF5
-
HDF5は、大量データを階層的に構造化して格納することが可能なファイルを生成するためのライブラリです。
並列実行でhdf5出力形式を利用する場合は、module load hdf5.mpi を実行し、ご使用ください。
シリアル実行でのご利用の場合は、module load hdf5 を実行し、ご使用ください。
このライブラリを利用するためには、コンパイル時に-lhdf5のようにオプションを付与します。以下はライブラリのリンク例です。
$ module load BaseCPU
$ module load hdf5
$ icx -o h5-sample h5-sample.c -lhdf5
NetCDF
-
NetCDFは、科学的な多次元データを格納する目的で、共通データ形式として広く使われているバイナリファイルフォーマットが利用できるライブラリです。本システムでは、C言語/C++言語/Fortran言語のそれぞれから利用できるように整備されています。ライブラリを利用するためには、コンパイル時に-lnetcdf等のオプションを付与します。以下はライブラリのリンク例です。
C言語
$ module load BaseCPU
$ module load netcdf-c
$ icx -o ncdf-sample ncdf-sample.c -lnetcdf
C++言語
$ module load BaseCPU
$ module load netcdf-cxx
$ icpx -o ncdf-sample ncdf-sample.cpp -lnetcdf_c++4 -lnetcdf
Fortran言語
$ module load BaseCPU
$ module load netcdf-fortran
$ ifx -o ncdf-sample ncdf-sample.f90 -lnetcdff -lnetcdf
PnetCDF
-
PnetCDFは、NetCDF形式のファイルに対して、並列プログラムから同時アクセスを行うためのライブラリです。本システムでは、C言語/C++言語/Fortran言語のそれぞれから利用できるように整備されています。ライブラリを利用するためには、コンパイル時に-lpnetcdf等のオプションを付与します。以下はライブラリのリンク例です。
C言語
$ module load BaseCPU
$ module load pnetcdf-c
$ mpiicx -o pncdf-sample pncdf-sample.c -lpnetcdf
C++言語
$ module load BaseCPU
$ module load pnetcdf-cxx
$ mpiicpx -o pncdf-sample pncdf-sample.cpp -lpnetcdf
Fortran言語
$ module load BaseCPU
$ module load pnetcdf-fortran
$ mpiifx -o pncdf-sample pncdf-sample.f90 -lpnetcdf

