5.5. 高速4倍精度基本演算ライブラリ¶
高速4倍精度基本演算ライブラリは、Fortran、または、C++プログラムから利用できます。
5.5.1. Fortran 版の結合方法¶
fast_dd は、Fortran または C++で記述された利用者プログラムに結合して使用することができます。翻訳、結合には富士通製 Fortran/C++コンパイラを使用します。
利用方法の例は以下のとおりです。
SVE版 fast_dd のアーカイブを結合する
[_LNlogin]$ frtpx -Kfast,optmsg=2,SVE a.f90 -SSL2
汎用版 fast_dd のアーカイブを結合する
[_LNlogin]$ frtpx -Kfast,optmsg=2,NOSVE a.f90 -SSL2
スレッド並列ルーチンを使用するユーザプログラムを翻訳し、fast_dd のアーカイブを結合する
[_LNlogin]$ frtpx -Kfast,openmp,optmsg=2,SVE b.f90 -SSL2
ネイティブコンパイラにより、ユーザプログラムを翻訳し、SVE版 fast_dd のアーカイブを結合する
[_CNlogin]$ frt -Kfast,optmsg=2,SVE a.f90 -SSL2
参考
ユーザプログラムをクロスコンパイラにより翻訳し、fast_dd を結合する場合、frtpxコマンド行に
-SSL2
を指定します。ユーザプログラムでBLAS/LAPACK のスレッド並列版を使用する場合は、
-SSL2BLAMP
オプションを指定します。fast_dd のスレッド並列化されたルーチンを使用する場合は、
-Kopenmp
または-Kparallel
オプションを追加します。ログインノードで結合する場合、
-KSVE
が有効であれば、SVE
を使用したライブラリを結合します。ログインノードで結合する場合、
-KNOSVE
が有効であれば、汎用のライブラリを結合します。計算ノードで結合する場合、
-KSVE
と-KNOSVE
のどちらを指定してもSVE
を使用したライブラリを結合します。-KSVE
オプションのデフォルト(省略時)は、-KSVE
になります。MPIプログラムを翻訳し、fast_dd を結合するためには mpifrtpx、mpifrtコマンドを使用します。
5.5.2. C++版の結合方法¶
利用方法の例は以下のとおりです。
ユーザプログラム
a.cpp
を翻訳し, SVE版 fast_dd のアーカイブを結合する
[_LNlogin]$ FCCpx -Kfast,openmp,optmsg=2,SVE a.cpp -SSL2
ユーザプログラム
a.cpp
を翻訳し, 汎用版 fast_dd のアーカイブを結合する
[_LNlogin]$ FCCpx -Kfast,openmp,optmsg=2,NOSVE a.cpp -SSL2
ネイティブコンパイラでユーザプログラムを翻訳し、SVE 版 fast_dd のアーカイブを結合する
[_CNlogin]$ FCC -Kfast,openmp,optmsg=2,SVE a.cpp -SSL2
参考
ユーザプログラムをクロスコンパイラにより翻訳し、fast_dd を結合するためには、FCCpxコマンド行に
-SSL2
を指定します。ユーザプログラムでBLAS/LAPACK のスレッド並列版を使用する場合は、
-SSL2BLAMP
オプションを指定します。fast_dd はスレッドセーフなオブジェクトであるため、
-Kopenmp、-Kparallel
、または、-mt
のいずれかを指定します。ログインノードで結合する場合、
-KSVE
が有効であれば、SVE
を使用したライブラリを結合します。ログインノードで結合する場合、
-KNOSVE
が有効であれば、汎用のライブラリを結合します。計算ノードで結合する場合、
-KSVE
と-KNOSVE
のどちらを指定してもSVE
を使用したライブラリを結合します。-KSVE
オプションのデフォルト(省略時)は、-KSVE
になります。MPIプログラムを翻訳し、fast_dd を結合するためには、mpiFCCpx、mpiFCCコマンドを使用します。