Fortran&C Package 機能説明(Solaris版)
Fortran Compiler/Library
Fortran言語で記述されたプログラムの開発を支援するFortranコンパイラおよびライブラリです。
言語仕様
- Fortran95規格であるISO/IEC 1539-1:1997およびJIS X3001-1:1998に完全準拠しています。
- 並列化記述のための規格であるOpenMP Application Program Interface Version 2.5 (以下、OpenMP API(注1))に準拠しており、以下の機能をサポートしています。
- ループ並列
- タスク並列
- データスコープの指定
- リダクション演算の指定
- 同期/排他制御
- Fortran 2003規格の一部をサポートしています。
(注1) OpenMP Architecture Review Boardによって2005年5月に規定された、メモリ共用型並列計算機(SMPシステム)向け並列化記述のための仕様。
サポート機能
- SPARC固有の最適化機能
- 自動並列化機能
- 自動精度拡張機能
- プログラム検査機能(バッチ型デバッグ)
- 書式なしファイルのエンディアン変換機能(他社のFortranのファイルは除く)
- 書式なしファイルのI370-IEEE形式変換機能(他社のFortranのファイルは除く)
- バイナリデータ編集
- 実行時オプション機能
- 2GB以上のデータの使用
- 2GB以上のFortran記録の入出力
- MPSS機能のサポート
C Compiler
言語仕様
- 最新の国際標準である、ISO規格(ISO/IEC 9899:1999)(以下、C99規格(注1))、従来の国際標準であるANSI規格(X3.159-1989)およびK&R(注2)の3種類の言語仕様に準拠しています。
- 並列化記述のための規格である、OpenMP API に準拠しています。
(注1) 1999年12月に制定された、最新のC言語規格。
(注2) カーニハンとリッチーの共著である『プログラミング言語C 』(共立出版)により規定されている言語仕様。
サポート機能
- SPARC固有の最適化機能を備えています。
- 高速数学関数ライブラリを提供します。
- プログラム中から並列実行可能な部分を自動認識し、メモリ共用型並列計算機上で高速に実行するオブジェクトを生成する自動並列化機能を備えています。また、自動並列化を支援する以下の機能があります。
- プログラムソースリスト上に並列化情報を表示。
- 並列化情報メッセージを出力。
- #pragma指令による並列化の指示。
C++ Compiler
言語仕様
- ISO規格(ISO/IEC 14882:1998(E))に準拠しています。
- 翻訳オプションにより言語仕様を細かく制御できます。
- 並列化記述のための規格である、OpenMP APIに準拠しています。
サポート機能
- SPARC固有の最適化機能を備えています。
- PCH(プレコンパイルヘッダー)機能によりコンパイル時間を短縮することができます。
- 汎用クラスライブラリ(RogueWave Tools.h++ V8)を提供します。
- 標準C++ライブラリ(ISO規格)を提供します。
- 高速数学関数ライブラリを提供します。
- プログラム中から並列実行可能な部分を自動認識し、メモリ共用型並列計算機上で高速に実行するオブジェクトを生成する自動並列化機能を備えています。また、自動並列化を支援する以下の機能があります。
- プログラムソースリスト上に並列化情報を表示。
- 並列化情報メッセージを出力。
- #pragma指令による並列化の指示。
Visual Analyzer
Visual Analyzerは、Fortran、C、C++言語プログラムを静的に解析して、各種情報をビジュアルに表示・印刷するツールです。
- プログラムの構造・性質およびデータの使用状況を簡単に把握できます。
- 当製品のみでプログラムの構造を解析します(コンパイラは不要です)。
Visual Analyzerには、以下の機能があります。
- Fortran、C、C++言語プログラム共通情報の表示
- グラフフローの表示(プログラム単位・関数の呼出し関係図の表示)
- ロジックフローの表示(プログラム単位・関数の内部構造図の表示)
- 統計情報の表示(各プログラム単位・関数ごとの各種統計情報の表示)
- 相互参照情報の表示(各プログラム単位・関数ごとのデータ使用状況の表示)
- 引数情報の表示(プログラム単位・関数間の仮引数と実引数情報の表示)
- グローバル情報の表示
a Fortranの共通ブロックの使用状況
b Fortranのモジュールの依存関係
c C、C++のグローバル変数の使用状況
d C++の名前空間の使用状況
- プログラムの検査
a 仮引数と実引数の整合性検査
b Fortran規格合致検査
c Fortranの共通ブロックのサイズ検査
d Cプログラムの移植性検査
- C++クラス情報の表示
- クラス継承関係図の表示
- クラス継承情報の表示(クラスごとの基底クラス情報の表示)
- クラス統計情報の表示(クラスごとのメンバー情報の表示)
- クラス使用情報の表示(クラスのオブジェクトの使用状況の表示)
- フレンド情報の表示
- 解析結果の印刷
並列アナライザ
- 並列プログラム(OpenMP)の開発に対応したプログラム作成・編集・翻訳・実行・デバッグ・性能チューニングが簡単なGUI操作で行なえます。
- デバッグ機能は、ソースコードを参照しながらプログラムの実行制御、中断点の設定、データ内容の表示等が会話型に行なえます。
- 性能チューニングは、マルチスレッドプログラムの負荷バランス解析を支援します。
SSLII&数学ライブラリ
SSL II、C-SSL II、BLAS、LAPACK
- SSL IIは、線型方程式や微分方程式などの数学的問題を解く、約280種類のFortranサブルーチンからなる汎用数値計算ライブラリです。C-SSL IIはC言語から自然な関数インターフェースで利用できるSSL IIです。
- BLAS、LAPACKは米国で開発されNetlibで公開されている線形計算ライブラリです。LAPACKはNetlib版のVersion 3.0のルーチンを提供します。
- これらの数値計算ライブラリにおいては、複数のスレッドから同時に同一ルーチンを呼び出すことが可能です(すなわち、スレッドセーフ)。
- SSL IIについては、共用メモリ型スカラ並列機向けの並列数値計算アルゴリズムをOpenMP Fortranで記述したスレッド並列ルーチンも提供します。連立一次方程式、高速フーリエ変換、乱数の16ルーチンが利用できます。また、BLASのLevel 3の全ルーチンとLevel 2の重要ルーチン、及び、LAPACKの一部の重要ルーチンについても、スレッドセーフルーチンだけでなく、スレッド並列ルーチンを提供します。