3. OpenSTFの高速化

3.1 ベンチマーク問題

3.1.1 ベンチマーク問題

図3-1-1のベンチマーク問題を計算し、その計算時間を測定します。
誘電体のブロックの両側を電極ではさんだモデルです。
計算時間の主要部(SOR法の反復計算)は以下の式で評価されます。
 計算時間 ∝ Nx x Ny x Nz x 反復回数
ここで比例定数はハードウェアと高速化技術で決まる定数です。


図3-1-1 ベンチマーク問題

計算条件として表3-1-1の各ケースを考えます。 以下ベンチマーク100~600と呼びます。

表3-1-1 ベンチマーク問題
ベンチマークセル数(Nx x Ny x Nz)反復回数
100100 x 100 x 100500
200200 x 200 x 200500
300300 x 300 x 300500
400400 x 400 x 400500
500500 x 500 x 500500
600600 x 600 x 600500

3.1.2 テスト環境

以下の環境で計算時間を測定します。

計算時間の全体(ost.logの"total"行)を表示します。 なお、計算時間の大部分はSOR法の反復計算(ost.logの"part-2"行)が占めます。

3.1.3 二つのモード

SOR法の係数(式(2-1-6)のεijk)を計算する方法に以下の二通りがあります。
(1) novectorモード
誘電率を誘電率番号(1バイト)から間接的に計算します。 使用メモリーが少なくてすみます。
(2) vectorモード
誘電率配列(4バイト)を予め用意し直接アクセスします。 使用メモリーが増えます。