                                               更新日付: 2003 年 3 月 25 日

 Sun[tm] ONE Studio 8:Sun Performance Library Readme

     目次

       A. はじめに
       B. Sun Performance Library について
       C. 新規および変更された機能
       D. ソフトウェアの修正事項
       E. 問題点と回避策
       F. 制限事項と互換性の問題
       G. 記述の誤りの訂正



     ------------------------------------------------------------------

     A. はじめに

     この文書では、Sun Open Net Environment (Sun ONE) Studio 8,
     Compiler Collection に付属の Sun Performance Library[tm] に関する
     情報を提供します。 記載内容は、このリリースで導入された新機能とソ
     フトウェアの修正事項、既知の問題点、制限事項、互換性の問題などで
     す。 また、本書の記載内容はソフトウェアマニュアルの情報を更新ない
     し補充します。

     製品マニュアル

        * リリースノート: http://docs.sun.com/ で入手できます。リリース
          ノートの情報は、各製品の「Readme」ファイルの情報に優先しま
          す。
        * Compiler Collection のマニュアル: 製品のマニュアルページ、
          HTML 版の Readme、およびマニュアルは、
          /opt/SUNWspro/docs/ja/index.html からアクセスできます。
        * Compiler Collection 開発者向けリソースポータル:Compiler
          Collection 関連のドキュメントについては、Compiler Collection
          Developer Resources Portal (英語) を参照してください。 このポ
          ータルには、技術解説や知識ベースなども挙げられています。

     注 - Compiler Collection ソフトウェアがデフォルトの /opt 以外のデ
     ィレクトリにインストールされている場合は、システム上の対応するパス
     をシステム管理者に確認してください。



     ------------------------------------------------------------------

     B. Sun Performance Library について

     このリリースの Sun Performance Library は、Solaris[tm] オペレーテ
     ィング環境 (SPARC(R) プラットフォーム版) バージョン 7、8、および 9
     で利用できます。

     Sun Performance Library は、線形代数問題や非線形問題を数値的に解く
     ための最適化された、かつ高速な数学サブルーチンを集めたものです。
     Sun Performance Library は、Netlib (http://www.netlib.org) から入
     手できるパブリックドメインアプリケーション群にもとづいて作成されて
     います。 サンはこれらのパブリックドメインアプリケーションの機能を
     拡張し、これらを Sun Performance Library としてバンドルしました。

     Sun Performance Library には、次の標準ライブラリの拡張版も含まれて
     います。

        * LAPACK バージョン 3.0。線形代数問題解決用。
        * BLAS1 (Basic Linear Algebra Subprograms)。ベクトル演算用。
        * BLAS2。行列 - ベクトル演算用。
        * BLAS3。行列 - 行列演算用。
        * Netlib Sparse-BLAS。スパースベクトル演算用。
        * NIST Fortran Sparse BLAS バージョン 0.5。基本的なスパースマト
          リックス演算用。

     Sun Performance Library には、次の追加ルーチンが含まれています。

        * 高速フーリエ変換 (FFT) ルーチン
        * ダイレクトスパースソルバールーチン
        * 区間 BLAS ルーチン

     互換性

     Sun Performance Library の LAPACK 3.0 ルーチンは、LAPACK 1.x や
     LAPACK 2.0 など、以前のバージョンの LAPACK から供給されているユー
     ザールーチンや LAPACK3.0 内のすべてのルーチンとの互換性がありま
     す。ただし、LAPACK 3.0 の内部変更によって、内部ルーチンとの互換性
     は保証できません。 Netlib から入手できる LAPACK ソースコードでは、
     非互換の可能性がある内部ルーチンは auxiliary ルーチンと呼ばれま
     す。『LAPACK Users' Guide』に auxiliary ルーチンに関する情報があり
     ます。このガイドは、http://www.siam.org にある SIAM (Society for
     Industrial and Applied Mathematics) から入手できます。

     LAPACK の auxiliary ルーチンのユーザーインタフェースは、LAPACK の
     リリースごとに変えることができるので、Sun Performane Library でも
     LAPACK の auxiliary ルーチンのユーザーインタフェースを変更できま
     す。LAPACK 3.0 と互換性のある auxiliary ルーチンは、通常、ユーザー
     による呼び出しに使用できますが、auxiliary ルーチンについてはマニュ
     アルへの記載、テスト、およびサポートが特にされていません。 LAPACK
     の auxiliary ルーチンのユーザーインタフェースは、Sun Performance
     Library の将来のリリースで変更される可能性があることに注意してくだ
     さい。そのため、ユーザーインタフェースは、該当バージョンの Sun
     Performance Library でサポートされる LAPACK のバージョンに対応しま
     す。

     関連文書

     以下の Sun Performance Library 関連文書が提供されています。

        * マニュアルページ (セクション 3P) (英語版のみ) - ライブラリに
          含まれている各関数やサブルーチンに関する説明
        * 区間 BLAS のマニュアルページ (セクション 3pi) - 各区間 BLAS
          ルーチンに関する説明
        * 『Sun Performance Library User's Guide』(英語版のみ) - 次のよ
          うな情報と使用例を収めています。
             o Sun Performance Library のルーチンの使用方法
             o Fortran インタフェースおよび C インタフェースの使用方法
             o 最適化オプションおよび並列化オプションの使用方法
             o スパースソルバー (スパースに対する求解ルーチン) パッケー
               ジの使用方法
             o FFT ルーチンの使用方法
        * 『Sun Performance Library Reference Manual』。マニュアルペー
          ジ (セクション 3P) の HTML 版および PDF 版です (英語版のみ)。
          『Sun Performance Library Reference Manual』 (英語版のみ)
          は、http://docs.sun.com で参照できます。

     その他の情報については、『LAPACK Users' Guide』 (第 3 版、
     Anderson, E. ほか著、SIAM、1999) を参照してください。SIAM (Society
     for Industrial and Applied Mathematics) または書店で入手できます。
     『LAPACK User's Guide』は、Netlib で提供している LAPACK 3.0 基本ル
     ーチンに関する公式の解説書です。LAPACK 3.0 ルーチンについて、数学
     的に説明しています。



     ------------------------------------------------------------------

     C. 新規および変更された機能

     ここでは、Sun ONE Studio 8, Compiler Collection Sun Performance
     Library の新規機能および変更機能について説明します。 Compiler
     Collection のその他のコンポーネントについては、『Sun ONE Studio 8
     の新機能』を参照してください。ローカルシステムまたはネットワーク上
     でこのマニュアルにアクセスするには、/opt/SUNWspro/docs/ja/index.html
     を開いてください。 http://docs.sun.com にも同じマニュアルが掲載さ
     れています。

       1. パフォーマンスの向上
       2. 動的なライブラリパフォーマンス
       3. スパースソルバーの新機能
       4. 結合された並列化モデル
       5. IBLAS のマニュアルページ

       1. パフォーマンスの向上

          このリリースの Sun Performance Library では、次のパフォーマン
          ス向上が実現されています。

             o BLAS と FFT のパフォーマンス向上

                  + US-III 搭載時における小さな問題サイズの GEMM パフォ
                    ーマンスが向上しました。
                  + V9 ライブラリで 32 ビット FFT ルーチンを使用する場
                    合の小さな問題サイズの FFT パフォーマンスが向上しま
                    した。
             o スパースソルバーのパフォーマンス向上

                  + Sun Performance Library スパースソルバーのシングル
                    CPU パフォーマンスが向上しました。
                  + Sun Performance Library スパースソルバーが並列化さ
                    れました。
             o スパース BLAS のパフォーマンス向上

                  + スパース行列ベクトルの処理が並列化されました。
                  + 小さな問題サイズのパフォーマンスが向上しました。
          -------------------------------
       2. 動的なライブラリパフォーマンス

          このリリースの Sun Performance Library では、最上のパフォーマ
          ンスが簡単に得られるように内部的な変更が加えられています。実
          行時には、実行可能プログラムが稼動する SPARC ハードウェアプラ
          ットフォームに合わせて最適化された Sun Performance Library バ
          ージョンが動的に読み込まれます。このように処理されるのは、Sun
          Performance Library の共有ライブラリバージョンがリンクされて
          いる場合だけです (このバージョンがリンクされた状態がデフォル
          ト)。

          -------------------------------
       3. スパースソルバーの新機能

          このリリースでは、スパースソルバーがエルミート正定値行列をサ
          ポートするようになりました。

          -------------------------------
       4. 結合された並列化モデル

          このリリースの Sun Performance Library では、並列化モデルが結
          合されています。このため、Sun Performance Library に付属のラ
          イブラリの数が減り、Sun Performance Library のサイズが抑えら
          れています。

          並列化モデルが結合されたことで、Sun Performance Library の直
          列動作または並列動作へのリンクが簡易化されました。

             o Sun Performance Library の直列動作にリンクするには、次の
               ように指定します。

               f95 user.f -xlic_lib=sunperf
               または、
               cc user.c -xlic_lib=sunperf

             o Sun Performance Library の並列動作にリンクするには、
               -xparallel、-xexplicitpar、または -xautopar を使用しま
               す。

               f95 user.f -xparallel -xlic_lib=sunperf
               または、
               cc user.c -xparallel -xlic_lib=sunperf

          以前には -mt によるリンクで Sun Performance Library ルーチン
          を同時に実行できましたが、このリリースからは不可能になりまし
          た。-xparallel、-xexplicitpar、または -xautopar を指定せずに
          -mt を実行すると、Sun Performance Library ルーチンはシングル
          スレッド状態で動作します。 -xparallel、-xexplicitpar、または
          -xautopar を指定して -mt を実行してもこのリリースではスレッド
          に対して安全であり、この方法で複数の Sun Performance Library
          ルーチンを同時に実行できます。

          -------------------------------
       5. 区間 BLAS のマニュアルページは man3pi フォルダへ移動

          区間 BLAS のマニュアルページは man3pi フォルダへ移動しまし
          た。

          Fortran 95 インタフェースと、各区間 BLAS ルーチンで使用される
          引数の種類については、各ルーチンのマニュアルページの 3pi セク
          ションを参照してください。たとえば、constructv_i.3pi ルーチン
          のマニュアルページを表示するには、man -s 3pi constructv_i と
          入力します。ルーチン名は小文字で入力する必要があります。

     ------------------------------------------------------------------

     D. ソフトウェアの修正事項

       1. スレッドに対する安全性

          これまでのリリースの Sun Performance Library では、コンパイラ
          の並列化と POSIX マルチスレッドまたは Solaris マルチスレッド
          との組み合わせをサポートしませんでした。このリリースの Sun
          Performance Library はスレッドに対して安全であり (4764782)、
          PARALLEL または tt>OMP_NUM_THREADS 環境変数を 1 よりも大きな
          値に設定したマルチスレッド環境内で Sun Performance Library ル
          ーチンを呼び出してもルーチンは正常に動作します。しかし、この
          方法は依然としてシステムへの過剰な要求を引き起こしかねないた
          め、お勧めできません。



     ------------------------------------------------------------------

     E. 問題点と回避策

     ここでは、これまでにわかっているソフトウェアの問題点とその回避策に
     ついて説明します。更新情報については、Updated Technical
     Information のページ
     http://wwws.sun.com/software/sundev/suncc/hotnews.html を参照して
     ください。

       1. v9 (64 ビット) libsunperf ライブラリをリンクするとリンク時間
          が長くなる

          Solaris 7 および 8 のリンクエディタのバグ (4369068) が原因
          で、libsunperf などの弱いシンボル (weak symbol) を数多く持っ
          た 64 ビットのライブラリをリンクすると、リンク時間が長くなり
          ます。 このリンクエディタのバグで影響を受けるのは、make のパ
          フォーマンスだけで、実行時のパフォーマンスには影響はありませ
          ん。

          このリンクエディタのバグは、次のパッチで修正できます。

            1. Solaris 7 オペレーティング環境 パッチ 106950-15 以上
            2. Solaris 8 オペレーティング環境 パッチ 109147-09 以上

          上記のパッチは、http://sunsolve.sun.com からダウンロードでき
          ます。

     ------------------------------------------------------------------

     F. 制限事項と互換性の問題

     現時点では新しい情報はありません。



     ------------------------------------------------------------------

     G. 記述の誤りの訂正

       1. 『Sun Performance Library Reference Manual』内の複素数スカラ
          ー alpha に関する記載内容の修正

          Sun Performance Library C インタフェースの複素数スカラーは、
          参照によって渡されます。しかし、docs.sun.com の『Forte
          Developer 7 Sun Performance Library Reference Manual』では、
          複素数スカラー alpha は値によって渡されると誤って記載されてい
          ます。Sun Performance Library のマニュアルページおよび
          sunperf.h ファイルでは、複素数スカラーは参照渡しされると正し
          く記載されています。たとえば、caxpy のマニュアルページでは、
          複素数スカラー alpha が参照によって渡されています。

              void caxpy(int n, complex *alpha, complex *x, int incx,
          complex *y, int incy);

          Sun ONE Studio 8, Compiler Collection 用の最終バージョンの
          Sun Performance Library でリリースされる『Sun Performance
          Library Reference Manual』には、正しく修正された内容が記載さ
          れます。



     ------------------------------------------------------------------

     Copyright © 2003 Sun Microsystems, Inc., All rights reserved.
     Use is subject to license terms.Use is subject to license terms.
