このリリースの Sun Performance Library は、Solaris オペレーティングシステムのバージョン 10 で使用できます。一部の Linux オペレーティング環境でも使用できます。
Sun Performance Library は、線形代数問題や非線形問題を数値的に解くための最適化された、かつ高速な数学サブルーチンを集めたものです。Sun Performance Library の基になっているのは http://www.netlib.org/ の Netlib から入手できるパブリックドメインサブルーチンのコレクションであり、それが拡張および最適化され、Sun Performance Library としてバンドルされています。Sun Performance Library には次の標準ライブラリが含まれます。
LAPACK version 3.1.1。線形代数問題解決用です。
BLAS1 (基本的な線形台数サブプログラム)。ベクトルとベクトル演算実行用です。
BLAS2。行列とベクトル演算実行用です。
BLAS3。行列と行列演算実行用です。
Netlib Sparse-BLAS。スパースベクトル演算実行用です。
NIST Fortran Sparse BLAS version 0.5。基本的なスパース行列演算実行用です。
SuperLU version 3.0。方程式のスパース線形システムの解決用です。
Sun Performance Library には、次の追加ルーチンが含まれています。
高速フーリエ変換 (FFT) ルーチン
ダイレクトスパースソルバールーチン
区間 BLAS ルーチン
Sun Performance Library 内の LAPACK 3.1.1 ルーチンは、1.x、2.0、3.0 を含む従来のバージョンの LAPACK のユーザールーチン、および LAPACK 3.1.1 のすべてのルーチンと互換性があります。ただし、LAPACK 3.1.1 の内部の変更により、内部ルーチンとの互換性を保証できません。
互換性のない可能性がある内部ルーチンは、Netlib が提供している LAPACK ソースコードの中では auxiliary ルーチンと呼ばれています。『LAPACK User's Guide』に auxiliary ルーチンに関する情報があります。このガイドは、http://www.siam.org/ にある SIAM (Society for Industrial and Applied Mathematics) から入手できます。
LAPACK の auxiliary ルーチンのユーザーインタフェースは、LAPACK のリリースごとに変えることができるので、Sun Performane Library でも LAPACK の auxiliary ルーチンのユーザーインタフェースを変更できます。LAPACK 3.1.1 と互換性のある auxiliary ルーチンは、通常、ユーザーによる呼び出しに使用できますが、auxiliary ルーチンについてはマニュアルへの記載、テスト、およびサポートが特にされていません。LAPACK の auxiliary ルーチンのユーザーインタフェースは、Sun Performance Library の将来のリリースで変更される可能性があることに注意してください。そのため、ユーザーインタフェースは、該当バージョンの Sun Performance Library でサポートされる LAPACK のバージョンに対応します。
次に示す Sun Performance Library 関連文書が提供されています。
マニュアルページ (セクション 3P) (英語版のみ) - ライブラリに含まれている各関数やサブルーチンに関する説明
区間 BLAS のマニュアルページ (セクション 3pi) - 各区間 BLAS ルーチンに関する説明
『Oracle Solaris Studio 12.2: Sun Performance Library User's Guide』では次の項目についての説明とその例が示されています。
Sun Performance Library のルーチンの使用方法
Fortran インタフェースおよび C インタフェースの使用方法
最適化オプションおよび並列化オプションの使用方法
SPSOLVE および SuperLU スパースソルバーパッケージの使用方法
FFT ルーチンの使用方法
その他の情報については、『LAPACK User's Guide』 (第 3 版、Anderson, E. ほか著、SIAM、1999) を参照してください。SIAM (Society for Industrial and Applied Mathematics) または書店で入手できます。『LAPACK User's Guide』は、Netlib で提供している LAPACK 3.1.1 基本ルーチンに関する公式の解説書です。LAPACK 3.1.1 ルーチンについて、数学的に説明しています。
このリリースでは、Fortran および C コンパイラに関する Sun Performance Library とのリンクが変更されています。Fortran、C、C++ はすべて、-xlic_lib=sunperf オプションの代わりに -library=sunperf オプションを使用するようになっています。静的にリンクする場合は、-library=sunperf オプションのあとに -staticlib=sunperf オプションを追加します。
libsuniperf (IBLAS) は「廃止または互換性がなくなる可能性あり」に分類されており、このリリースでは Oracle Solaris Studio から削除されています。
Sun Studio 12 Update 1 リリースでは、Sun Performance Library に次の機能が導入されました。
Sun Performance Library には現在、ScaLAPACK 1.8.0 高性能クラスタライブラリが含まれています。このライブラリは、OpenMPI 1.3 リリースをベースとする Sun HPC ClusterTools 8.1 とともに動作します。リファレンス実装とドキュメントは、http://www.netlib.org/scalapack/ で説明されています。
新しいカスタムライブラリツールには、Sun Performance Library のスケールダウンバージョンを作成するオプションがあります。カスタムライブラリツール gen_custom は、アーカイブライブラリからルーチンだけを抽出し、それらを再結合してカスタムライブラリにします。こうすることで、Sun Performance Library のような大型ライブラリの占有サイズを、ユーザの必要なルーチンの分量にまで削減することができます。詳細については、gen_custom(3p) マニュアルページを参照ください。
BLAS、LAPACK、および FFT のルーチンに、多数のパフォーマンス向上が追加されました。
Intel(R) CoreTM i7 (Nehalem) および AMD のクワッドコア OpteronTM (Shanghai) CPU のサポートが使用できます。これらのライブラリにリンクするには、次のオプションを使用します。
-m64 -xlic_lib=sunperf (C および Fortran)
-m64 -library=sunperf (C++)
Fujitsu SPARC64-VII(R) CPU のサポートが使用できます。このバージョンの Sun Performance Library は、実現可能な最高のパフォーマンスを得るために、浮動小数点の積和演算 (FMA) 命令を使用します。これらのライブラリにリンクするには、次のオプションを使用します。
-xtarget=sparc64vii -fma=fused -xlic_lib=sunperf (C および Fortran)
-xtarget=sparc64vii -fma=fused -library=sunperf (C++)
SPARC64-VI および SPARC64-VII に対する ZGEMM の向上。
LAPACK ルーチンは、LAPACK 3.1.1 の最新の仕様に適合するように更新されています。
Woodcrest CPU のサポートが使用できます。
SPARC64-VI CPU のサポートが使用できます。
SUSE Linux Enterprise Server 9 または Redhat Enterprise Linux 4 オペレーティング環境の 32 ビットおよび 64 ビットシステムでライブラリが使用できる。
64 ビット整数パラメータのルーチンが使用できる。つまり、すべてのバージョンの Sun Performance Library に DAXPY() および DAXPY_64() があります。
スパースソルバーパッケージ SuperLU のシリアルバージョンが使用でき、C ドライバから、またはライブラリ内の既存の Fortran ベースのスパースソルバーを介して呼び出しすることができる。
この時点では、4 倍精度ルーチン (dqdoti、dqdota) は使用できない。
SSE2 対応システムおよび X86 以上のシステム上の Solaris OS および Linux OS で区間 BLAS ルーチンが使用できる。
UltraSPARC IV+ プロセッサおよび UltraSPARC IV プロセッサ用の BLAS と FFT の改良が組み込まれている。
SPARC64VI CPU のサポートが使用できる。このバージョンの Sun Performance Library は、SPARC64VI CPU で可能な最高のパフォーマンスを得るために、浮動小数点の積和演算 (FMA) 命令を使用します。このライブラリとリンクするには、-xtarget=sparcfmaf フラグを指定してコンパイルおよびリンクします。
スパースソルバーパッケージ SuperLU のシリアルバージョンが使用でき、C ドライバから、またはライブラリ内の既存の Fortran ベースの SPSOLVE スパースソルバーを介して呼び出しすることができる。