更新日付: 2003 年 3 月 25 日

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

目次

  1. はじめに
  2. Sun Performance Library について
  3. 新規および変更された機能
  4. ソフトウェアの修正事項
  5. 問題点と回避策
  6. 制限事項と互換性の問題
  7. 記述の誤りの訂正

 


A. はじめに

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

製品マニュアル

注 - 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 には、次の標準ライブラリの拡張版も含まれています。

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

互換性

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 関連文書が提供されています。

その他の情報については、『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. パフォーマンスの向上
  2. このリリースの Sun Performance Library では、次のパフォーマンス向上が実現されています。


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


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


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

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

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


  9. 区間 BLAS のマニュアルページは man3pi フォルダへ移動
  10. 区間 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.