Sun Performance WorkShop Fortran の概要

アプリケーションの自動並列化

複数のタスクを同時に処理すると、プログラムの実行速度が上がり、パフォーマンスも改善されます。自動並列化の対象となるのは、プログラム中で繰り返し使用されているループです。これは、ループの反復によって、アプリケーションの実行時間に影響が出ることがあるからです。並列化を行うと、ループでの計算作業を複数のプロセッサに分散させるために、ソースプログラムを書き換える必要がありません。

アプリケーションを並列化 (またはマルチスレッド化) すると、コンパイル済みのプログラムがマルチプロセッサシステムを最大限に活用できるようになります。また、ループなどのシングルタスクが複数のプロセッサで実行されるため、実行速度を飛躍的に短縮することができます。

FORTRAN 77、Fortan 90、C の各コンパイラを使用すると、ソースコードを解析して、反復して使用されているループの中から、それぞれ独立していて並列化しても安全性が損なわれないループを特定することができます。

コードを自動的に再構造化する

FORTRAN 77、Fortan 90、C の各コンパイラを使用すると、いったん構造化されたコードが自動的に拡張構造化されるため、より高度なループレベルの並列化を行うことができます。コンパイラでは、こうした変換を行うために、次の手法を採用しています。

プラグマサポートの導入

並行処理を行うことが有益かどうかを、コンパイラだけでは判断できない場合があります。このような場合、並列化指令 (プラグマ) コメント行を使用して、この指令の次のループを並列化するかどうかをコンパイラに指示することができます。