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コマンドを使用します。