HOME > システム > SR16000 > SR16000 利用の手引き > 第8章 数値計算ライブラリ
第8章 数値計算ライブラリ
8.1 概要
- -Lライブラリ検索パス名
- -lライブラリ名
(注)数値計算ライブラリ(ESSL/PESSL/BLAS/LAPACK/ScaLAPACK/FFTW/SuperLU/SuperLU_DIST/STL)
において、数学関数を呼び出している場合、-lm オプションが必要になります。
(注)Fortran プログラムを取り扱う場合には -i,L オプションが必要となる場合があります。-i,L オプションは
C プログラムでは必要ありません(ライブラリが C 言語で作成されている場合)。
(注)C プログラムを取り扱う場合には -lf90s オプションが必要となる場合があります。-lf90s オプションは
Fortran プログラムでは必要ありません(ライブラリが Fortran 言語で作成されている場合)。
8.2 MATRIX/MPP、MATRIX/MPP/SSS
MATRIX/MPPは基本配列演算、連立1次方程式、逆行列、固有値・固有ベクトル、高速Fourier変換、擬似乱数等に関する副プログラムライブラリです。並列処理用インターフェースを用いることにより、データを各ノードに分散して配置、並列に実行することができます。MATRIX/MPPを使用する場合にはコンパイル時にオプションとして以下のライブラリを指定します。Cプログラムから利用する場合は、-lf90s オプションも同時に指定して下さい(要素並列版は-parallelオプションも同時に指定して下さい)。

(参考マニュアル)
「行列計算副プログラムライブラリ MATRIX/MPP」(3000-3-C56)
「行列計算副プログラムライブラリ 疎行列解法 MATRIX/MPP/SSS」(3000-3-C97)
8.3 MSL2
MSL2は行列計算(連立1次方程式、逆行列、固有値・固有ベクトル等)、関数計算(非線形方程式、常微分方程式、数値積分等)、統計計算(分布関数、回帰分析、多変量解析等)に関する副プログラムライブラリです。MSL2 を使用するためにはコンパイル時にオプションとして以下のライブラリを指定します。Cプログラムから利用する場合は、-lf90s オプションも同時に指定して下さい(要素並列版は-parallelオプションも同時に指定して下さい)。

(参考マニュアル)
「数値計算副プログラムライブラリ MSL2 操作」(3000-3-C95)
「数値計算副プログラムライブラリ MSL2 行列計算」(3000-3-C92)
「数値計算副プログラムライブラリ MSL2 関数計算」(3000-3-C93)
「数値計算副プログラムライブラリ MSL2 統計計算」(3000-3-C94)
8.4 ESSL
ESSL(Engineering and Scientific Subroutine Library)は行列演算、連立1次方程式、固有値解析、Fourier変換、乱数生成等に関する数値計算ライブラリです。BLAS、LAPACK の API も有しています。また、FFTW 3.1.2 のラッパーサンプルが /usr/lpp/essl.rte.common/FFTW3 にあります。ESSLを使用する場合には、リンク時にオプションとして以下を指定します。Fortran プログラムから利用する場合は、-i,L オプションも同時に指定して下さい (要素並列版は -parallel オプションも同時に指定して下さい)。

8.5 Parallel ESSL (PESSL)
PESSL は、MPIでの分散メモリ並列処理による線形代数方程式、Sparseサブルーチン、ScaLAPACK のサブセット、Fourier 変換、一様乱数生成等に関する数値計算ライブラリです。PESSL を使用する場合には、リンク時にオプションとして以下を指定します。Fortran プログラムから利用する場合は、-i,L オプションも同時に指定して下さい。

8.6 BLAS・LAPACK・ScaLAPACK
SR16000 の標準BLAS、LAPACK、ScaLAPACKは本家netlibより入手できるソースをコンパイルしたものとなります。これらは日立製作所製のコンパイラでコンパイルしたプログラムと正常にリンクできることが確認されております。性能を要求する場合は、ESSL、Parallel ESSL の利用をお奨めします。
システム標準のBLAS、LAPACK、ScaLAPACKを使用する場合にはコンパイル時にオプションとして以下を指定します。Cプログラムから利用する場合は、-lf90s オプションも同時に指定して下さい(要素並列版は -parallel オプションも同時に指定して下さい)。

8.7 Parallel NetCDF
SR16000 には、アプリケーションに対し共通のデータアクセス方法を提供するI/OライブラリNetCDF(Network Common Data Form) ver1.1.1 がインストール(MPI 版のみ)されています。NetCDFを使用する場合には、リンク時にオプションとして以下を指定します。MPI版のみの提供となりますので、ご注意ください。

8.8 FFTW
FFTW(Fastest Fourier Transform in the West) は離散 Fourier 変換を計算するライブラリです。ver3.3 のMPI版、要素並列版、スカラー版がインストールされています。FFTWを使用する場合には、リンク時にオプションとして以下を指定します。Fortran プログラムから利用する場合は、-i,L オプションも同時に指定してください(要素並列版は -parallelオプションも同時に指定して下さい)。

8.9 SuperLU、SuperLU_DIST
疎行列の直接ソルバであるSuperLUがインストールされています。ver4.2の要素並列版及びスカラー版、メッセージパッシング並列ライブラリのSuperLU_DIST (MPI版、ver2.5)を用意しています。SuperLU を使用する場合には、リンク時にオプションとして以下を指定します(要素並列版は -parallelオプションも同時に指定して下さい)。

8.10 C++ ライブラリ
C++ライブラリとして、日立最適化 C++ コンパイラにて標準ライブラリの一つである STL(Standard Template Library) を使用するためにはリンク時にオプションとして以下を指定します。

また、Boost C++ ライブラリがインストールされています。リンク時にオプションとして以下を指定します。本ライブラリは日立最適化C++コンパイラには対応しておりません。IBM C++ コンパイラ、GNU C++ コンパイラをご利用ください。

GNU C++ コンパイラをお使いください。
(注)使用する Boost ライブラリにより、-lpthread オプションが適宜必要になるケースがあります。