![]() |
| サイトマップ | |
|
本ドキュメントでは、Pro Fortran に用意されている Absoft コンパイラの自動並列化機能 (auto-parallelism capabilities) を実際に試すことのできる簡単なサンプルプログラムを紹介します。このサンプルプログラムではメニュー、メニューコマンド、アラートボックス、スプレッドシート、プロットを実装できる Absoft Window Environment (AWE) の機能についても簡単に紹介します。
このプログラムは、Absoft がサポートするオペレーティングシステムであれば、Windows、Linux、OS X などプラットフォームにかかわりなくコンパイルし、実行することができます。お持ちのコンパイラに付属の Absoft User Guide には、AWE に関するさらに詳しいドキュメントが用意されています。
※ Mac/Linux 版の注意:AWE (Absoft Window Environment) のインターフェイスをもつプログラムをビルドするには、PLPlot の X-Windows が必要です。インストール CD の Additional Fortran Libraries フォルダにインストーラが入っていますので、あらかじめインストールをしておいて下さい。 |
このサンプルでは、3つのメニュー項目とそれらの内容をコールバックする関数をそれぞれセットアップすることにします。最初のメニューコマンドは、Solve です。これはプログラムを実行する度にそのタスクに使用するスレッドの数を順番に増やしてゆき、その計算に掛かった時間をそれぞれ蓄積してゆくためのルーチーンを呼び出すものです。2番目のメニューコマンドは、Chart です。これは、AWE にスプレッドシートを作成し、その結果を表示させるものです。3番目のメニューコマンドは、Plot です。これは、計算結果をプロットで表示させるものです。なお、Chart と Plot メニュー項目は、Solve コマンドでデータの蓄積が完了するまでは機能しません。
このサンプルは、3つのソースファイルと1つの AbsoftTools プロジェクトファイルで構成されます。プロジェクトファイルについては、次のセクション「サンプルのビルド」で説明します。使用するソースファイルはそれぞれ以下の通りです:
-apo
を使って自動的に並列化されます。
サンプルをビルドするには、まずはじめに AbsoftTools を起動します。AbsoftTools の Project メニューで Open Project を選択したら、お持ちのコンピュータの Absoft のメインディレクトリにある “examples” ディレクトリを開きます。そのディレクトリにある “AWE_APO_Example” という名称のディレクトリを開いたら、“AWE_SmpAutoParallel64.atools” という名称のプロジェクトファイルを開きます。AbsoftTools ウィンドウは、以下のようになっているはずです:
![]() |
Build メニューから Build を選択するか、ハンマーアイコン をクリックします。AbsoftTools ウィンドウの下半分にある Build ペインに Build completed というメッセージが表示されると、アプリケーションの実行準備は完了です。
サンプルを実行するには、AbsoftTools の Build メニューから Execute を選択するか、人物が走行しているアイコン をクリックします。AWE ウィンドウが開き、テキストウィンドウに以下の内容が表示されます:
The number of available threads is 12 Choose Solve from the APO menu to solve the problem for 1 - 12 threads利用可能なスレッド数は 12 です。APO メニューから Solve を選択して、1 から 12 までのスレッドについて値を求めてください。
※ 注意:表示されるスレッド数は、お使いのハードウェア構成によって異なります。 |
APO メニューから Solve を選択し、各スレッド数ごとに計算に掛かった時間を求めていきます。計算が完了すると、AWE ウィンドウは以下のようになっているはずです:
![]() |
計算が完了すると、Chart および Plot メニューコマンドを使ってその結果を表示させることができます。
Chart を選択すると以下のようなスプレッドシートが表示されます:
![]() |
Plot を選択すると以下のような表示になります:
![]() |