5 コンパイラ・ライブラリ使用方法
5.2 ライブラリ使用方法
スーパーコンピュータでは以下のライブラリを提供しています。
詳細は各詳細マニュアルを参照して下さい。
ライブラリ名称 バージョン リンク可能なコンパイラ 備考 CSML(Cray Scientific and Math
Libraries)
18.03.1 各コンパイラ
Intel MKL(インテル マス・カーネル・
ライブラリー)
18.0.2.199 17.0.4.196
Intelコンパイラ
Third Party Products - 各コンパイラ
5.2.1 CSML(Cray Scientific and Math Libraries)
CSML (Cray Scientific and Math Libraries)は、Crayが提供する科学数学ライブラリ群です。
以下のライブラリが利用可能です。
ライブラリ名称 説明 対応ライブラリ モジュール名 備考
Cray LibSci XC50 システム向
けに最適化された 科学技術計算ライ ブラリ
BLAS, LAPACK, BLACS,
ScaLAPCK, IRT, etc
cray-libsci デフォルトでロー
ドされる
Cray PETSc (Portable,
Extensible Toolkit for Scientific Computation)
線形・非線形方程 式並列ソルバーラ イブラリ
MUMPS, SuperLU, SuperLU_dist, ParMETIS, HYPRE , etc
cray-petsc
Cray Trilinos Packages
科学計算ライブラ リのオブジェクト指 向インターフェイス
PETSc,
Metis/ParMetis, SuperLU, Aztec, BLAS, LAPACK
cray-trilinos cray-petsc を 事 前にロードする必 要あり
TPSL (Third Party Scientific Libraries)
PETSc/Trilinos と組み合わせ可能 な数学ライブラリ
MUMPS, Super_LU, Super_LU_dist, ParMetis, Hypre, Sumdials, Scotch, etc
cray-tpsl
FFTW3.3 Library FFTW バージョン 3.3
FFTW3.3 cray-fftw
FFTW2.1 Library FFTW バージョン 2.1
FFTW2.1 fftw ライブラリ名が単
精度・倍精度によ って変わるため、
リンク時に選択指 示が必要
5-35
(1) プログラム環境の設定
superではCrayコンパイラをデフォルトで設定しています。
必要に応じて利用するプログラム環境に切替えて下さい。
・例 intelコンパイラの環境への切替
(2) 使用例
例1: CrayコンパイラでFFTW3.3 LibraryをMPI並列プログラムから利用する場合
例2: Intel コンパイラでFFTW3.3 LibraryをMPI 並列とスレッド並列を組み合わせたプログラ ムから利用する場合
例3: FFTW2.1 Libraryを単精度で利用する場合
例4: FFTW2.1 Libraryを倍精度で利用する場合
5.2.2 Intel MKL
Intel MKL(インテル マス・カーネル・ライブラリー)は、BLAS, LAPACK, SparseBLAS, PARDISO, Iterative Sparse Solver, FFT, 乱数生成などを含むライブラリです。
(1) プログラム環境の設定
Intelプログラム環境(PrgEnv-intel)をロードすることで利用可能です。
なお、競合回避のため、cray-libsci はアンロードして下さい。
$ module load cray-fftw
$ cc main.c -L${FFTW_DIR} -lfftw3_mpi -lfftw3
$ module switch PrgEnv-cray PrgEnv-intel
$ module load cray-libsci
$ module switch PrgEnv-cray PrgEnv-intel
$ module load cray-fftw
$ cc -qopenmp main.c -L${FFTW_DIR} -lfftw3_mpi -lfftw3_threads -lfftw3
$ module load fftw
$ cc main.c -lsrfftw_mpi -lsfftw_mpi -lsrfftw -lsfftw
$ module load fftw
$ cc main.c -ldrfftw_mpi -ldfftw_mpi -ldrfftw -ldfftw
5-36
・例 Crayコンパイラの環境からの切替
(2) 使用例
・固定形式のBLASを使用したFortranのソースプログラムhello.fからhello.outという 実行モジュールを作成
・BLASを使用したCのソースプログラムhello.cからhello.outという実行モジュールを作成
5.2.3 Third Party Products
以下のライブラリが利用可能です。
ライブラリ名称 モジュール名 備考
NetCDF(Unidata’s Network Common Data Format) Library
cray-netcdf
cray-parallel-netcdf
シリアル版 並列版 HDF5(Hierarchical Data
Format 5) Libraries & Utilities
cray-hdf5
cray-hdf5-parallel
シリアル版 並列版
$ ftn -mkl -o hello.out -fixed hello.f
$ module switch PrgEnv-cray PrgEnv-intel
$ module unload cray-libsci
$ cc -mkl -o hello.out hello.c
6-37