いわて駐在研究日誌

OpenCAE、電子工作、R/C等、徒然なるままに

2011-08-01から1ヶ月間の記事一覧

いよいよ本丸へとりかかる。

まず、形態係数の計算結果がおかしかったのを修正。 図のように、底面中心からみたVFは球の後ろはチェック計算しないはずが、 アルゴリズムの記述ミスで計算対象になってしまっていた。 これを修正すると 36000s→ 17368.24sに半減できた。 Before After

VF計算の見直し

現在、 Geometry計算 1810s → 775s 障害物判定 86911s VF計算 893s(もともとは1895s程度で相反則を利用) という結果に....。 一番計算時間のかかっている障害物判定を置いておいて、VF計算を減らす工夫をしてみる。 微小要素間の形態係数計算ルーチンでare…

再度, iadjの見直し(8/17)

+ [0:geometry - iadj] total cpu = 670.3566 [0:geometry - iadjb] total cpu = 3.291199 [0:geometry - elm2nod/bfc2nod] total cpu = 51.43323 [0:geometry - vol/area] total cpu = 0.1775513 [0:geometry - xyz_cg] total cpu = 7.4462891E-03 [0:geome…

bftype/jb計算の見直し

無駄なindex比較を削除 365.52s → 42.15s 次は elm2nod/bfc2nod かな...。

iadj計算の見直し

Gridgenで作成したメッシュデータには、隣接セル情報がないため、ある意味力技で計算している。 したがって、もとの計算ループは、(セル数×セルフェース数)×セル数のループになっている。 一番内側ループでの不要なテンポラリ配列へのコピーを削減 1396.05…

ジオメトリ計算の計算時間の内訳

+ [0:geometry] viewfactor preparation completed: total cpu = 1817.074 + [0:geometry - iadj] total cpu = 1396.056 [0:geometry - iadjb] total cpu = 3.292236 [0:geometry - elm2nod/bfc2nod] total cpu = 51.55615 [0:geometry - vol/area] total cp…

改良コードの計算時間の内訳

+ [0:geometry] viewfactor preparation completed: total cpu = 1812.060 + + [1:isfaced] viewfactor preparation completed: total cpu = 16.15417 + Max. surface mesh edge length: 0.1216534522120750 Now searching obstacle mesh ... + [2:isfinishe…

オリジナルコードの計算時間の内訳

+ [0:geometry] viewfactor preparation completed: total cpu = 1891.191 + + [1:isfaced] viewfactor preparation completed: total cpu = 35.65332 + Max. surface mesh edge length: 0.1216534522120750 + [2:isfinished/isobstacle] viewfactor prepara…

各ポイントの改良

0:Geometry Do nothing 1:isfaced メッシュ同士の対向判定関数の呼び出しを1回に削減 2:isobstacle メッシュ間の障害物存在判定を、半分のメッシュIDのみに変更(結果は対称行例になるので) 障害物となっているメッシュ探索対称を、バウンディングボック…

VF計算(その2)

CUDA化する前にアルゴリズム的に見直してみる。

ホストレベルの低容量化

0/1のフラグを、integer=4byteからinteger(1)=1 byteへ変更 → 2.76GB → VF計算中 7.79GB VFの精度をreal(8)からreal(4)(4byte)へ → 2.76GB(変化なし?) → VF計算中 integer(1),allocatable :: esfaced (:,:) integer(1),allocatable :: swij (:,:) integer(1…

CPUによる計算時間(オリジナルコード)

CentOS 5.6(x86_64) PGI Compiler 2011.07 (x86_64) "pgfortran -fastsse -tp=nehalem-64 -mcmodel=medium -Minfo" CPU time: (対向メッシュサーチ等を含む)

形態係数の計算手法

面積積分に基づくS2S法

問題 「Cube in a square」

3m×3m×3mの立方体の中に、直径1mの球があり、それぞれのサーフェスは三角形メッシュで構成されている。 このサーフェスメッシュ間の形態係数を求める問題 n_bndfc = 25704 n_elmnt = 326559 n_nodes = 60734

CUDA Fortran化

CUDA Fortran ファイル名一例 *.cuf、*.CUF(CUDA Fortran プログラムファイルであることを明示) *.f、*.F、*.f90、*.F90、*.f95、*.F95 (従来の慣習名) -Mcudaオプション -Mcuda=cuda2.0 (CC2.0使用。この他、cuda1.3,emuなど) fastmath (fastmathライブ…

View Factor using CUDA Fortran

8月になってしまいました。 かねてから懸案だったCUDAを使ったView Factor計算の高速化を夏休みの宿題としたい。 といってもToDoリストにはたくさん並んでいるので、どこまで消化しきれるやら...。