いろいろな話題:1
計算時間の目安
ボンドグラフによるシミュレーションでは、どの位の計算時間になるのでしょうか。このサイトで示した例題はいずれも簡単ですから、BGSPによればせいぜい数秒程度です。 しかし、複雑な例でシミュレーションの時間を長くとった場合には、かなり長時間になります。積分要素数16、全要素数70でシミュレーション200秒のケースではおよそ9時間を要した場合があります。もっとも、この例では、係数にかなり複雑な非線形関数を含んでいたことも影響しています。これだけ長時間が必要だとすると、パラメータをいろいろ変えて計算することは難しくなります。
計算時間短縮のため、すぐ考えられるのはマルチコアによる並列計算です。以前はこのために特別なプログラムを組む必要があり、容易ではありませんでした。しかし、最近インテルからParallel Studioが販売され、並列計算が容易にできるようになりました。
Visual Studio+Visual Fortranで上記の計算を実施してみたところ、1時間10分ですみました。なんと計算速度はほぼ8倍に達したことになります。検証結果では計算は完全に一致していました。理論上からはこれほど速度が向上することはないはずなので、なんらかのボトルネックが存在するのかもしれません。なお、計算機の条件は下記のとおりです。
プロセッサ:Pentium(R)D | 2.66GHz | OS:WindowsXP(SP3) | メモリー:2GB |
---|
たかだかデュアルコアでこれだけの成果ですので、今後は期待できそうです。この計算は特別なことはなにもしていません。 ただし、ソースコードの準備には、すこしばかり手間がかかります。この点は今後改善できると思っています。