MathKeisanはNECのハイパフォーマンス・コンピュータ用に高度に最適化された数学ライブラリ集です。MathKeisanにはNECのSXシリーズで稼動するバージョン(以下SX版)、およびNEC Itanium®プロセッサ・ファミリ(Linux OS)で稼動するバージョン(以下IPF版)の2つのバージョンがあります。
MathKeisanはアセンブリコード化されたBLASサブルーチンを含んでいます。BLAS、FFT、SolverおよびIPF版LAPACKは、共有メモリ並列(OpenMP)版があります。また、BLACS、ScaLAPACK、ParMETISおよびPARPACKは、分散メモリ並列(MPI)ライブラリです。
IPF版MathKeisanのFFT、LAPACKおよびPARDISOライブラリは、Intel® Math Kernel Library(MKL)のライブラリを採用しています。IPF版MathKeisanのBLASの一部もMKLのライブラリを採用しています。
MathKeisanに含まれるライブラリは、表1のとおりです。
| ライブラリ名 | 機能概要 |
|---|---|
| ARPACK | 大規模固有値解析 |
| BLACS | ベクトル、行列の基本演算のためのメッセージパッシングライブラリ(MPIを使用) |
| BLAS | ベクトル、行列の基本演算 |
| CBLAS | BLAS C言語インタフェース |
| FFT | 高速フーリエ変換 |
| LAPACK | 高性能コンピュータ用連立1次方程式、固有値解析 |
| METIS | 行列、グラフの並べ替え、分割ライブラリ |
| PARBLAS | 共有メモリ用、並列版BLAS |
| PARFFT | 共有メモリ用、並列版FFT |
| ParMETIS | 行列、グラフの並べ替え、分割の並列版ライブラリ(MPIを使用) |
| PARPACK | 並列ARPACK(MPIを使用) |
| SBLAS | Sparse BLAS(ACM Algorithm 692) |
| ScaLAPACK | 連立1次方程式、固有値解析(PBLASを含む)(MPIを使用) |
| Solver | 対称疎行列連立1次直接法ソルバ |
本書で使用しているフォントとその用法は以下のとおりです。
/opt/MathKeisanなどのパス名、OMP_NUM_THREADSなどの環境変数、libblas.aなどのライブラリ名、およびreal(kind=4)など記述のためのFORTRAN/Cコード