CAE技能講習会日程決定しました

CAE技能講習会(日本機械学会認定、付帯講習(技能編))の

代替講習会の今年度の日程が決まりました。

この講習会修了者は以下の2種類の特典を受ける事が出来ます。

  1. (社)日本機械学会の 計算力学技術者(CAE 技術者)初級認定を受ける資格を得ます。(但し(社)日本機械学会への認定申請手続き(及び手数料)が必要)。
    初級認定は「書類審査」のみで筆記試験はありません。
  2. (社)日本機械学会の 計算力学技術者(2級)(固体力学 分野の有限要素法解析技術者)の受験必須要件である「付帯講習(技能編)」が免除されます

当社の講習会を受講された方には「修了証」を当日発行致します。 (遠隔地受講を除く)

Skype受講や18:00以降、休日もご相談に応じます。

日程:  7/18(水)
7/25(水)
8/15(水)
8/22(水)
8/29(水)

時間: 14:00-17:30を基本とする
3時間30分
(相談に応じます )

講師1名

人数: 同時に4名迄

受講料20,570円 (税込み)

(オプション)
*18:00以降・休日:+2,500円
*skype講習:+2,500円
(2017年4月改定)

ADVENTURE_Solid 並列コア数スケーラビリーティーのテスト

Adventure Solid Ver.2.1による大規模解析モデルを使って、並列計算のCPUコア数スケーラビリティーを調べてみました。
用意した計算機はHPワークステーション Z820 , XEON E5-2680(8core, 2.7GHz, オーバードライブ3.5GHz) x 2, 256GBメモリです。
この計算機をWindows上でCINEBENCHを動かすと、以下のような計算速度となります。
      H/T    OD    CINEBENCH
計算スピード
     Yes    Yes      2038cb
Yes    No       1763cb
No     No       1392cb
(H/Tは ハイパースレッディング有無
、ODはCPUオーバードライブ有無)H/T 、ODの設定により、それなりに計算スピードが変わっていく様子がわかります。
今回のテストの目的は、Adventure Solidで並列計算させるときにCPUコア数スケーラビリティー(CPUコア数に従って、計算スピードが上がってゆくのか)、H/Tの影響を調べることにあります。
計算モデルは、Adventure HPからダウンロード可能なPantheonモデルです。BaseDistanceを20.0に設定してメッシュを作成すると
要素数 : 2522万個
節点数 : 3507万個 (自由度1億オーバー)
のメッシュモデルが出来上がります。このモデルを下面固定、自重による弾性応力計算を行います。
部分領域はCPUコア数にかかわらず、1領域あたりの要素数が312になるように設定しています。
Adventure Solidでは領域分割によるハイブリッド計算のため、1領域あたりの要素数を変えることにより、計算スピード、必要メモリ量が変化します。
詳細はAdventure Solidマニュアルをご覧ください。
並列計算の指定は、mpiexec -n ** advsolid-p で実行しています。
今回のメッシュモデルで標準BDD法繰り返し計算させると、215GBメモリが消費されていました。
Fig.1はH/Tをオフにした場合の計算時間のコア数依存性です。

は、マトリクス組み立てに要した時間、は、マトリクス組み立て+繰り返し計算時間(1×10-6以下で収束打ち切り)です。
このグラフを見ると、いろいろ興味深いことが理解できます。
1.(少なくとも弾性計算では)繰り返し計算よりもマトリクス組み立てに3倍ほどの時間が、かかっている。
2.総計算時間は単純に並列コア数に反比例しない。
3.ODの効果は、このように継続的な計算の場合にも効果がある。
4.グラフには載せていませんが、H/Tをオンにして32コアで計算させると16コアの場合よりも、少なくとも2倍以上の時間が必要でした。
次に繰り返し計算の1繰り返しあたりの時間を、コア数依存でプロットしたグラフがFig.2です。
5.(1繰り返しあたり)計算時間はコア数に応じて逆比例の関係にある。
6.ODの効果は、このように繰り返し計算の場合にも効果がある。
繰り返し計算では、きれいなコア数と逆比例した結果が、得られています。
Adventure Solidの領域分割BDD繰り返し計算では、コア数依存の並列計算スケーラビリティーに優れていることが、明白です。
このことは非線形などの大規模計算では、大きなメリットとなります。
マトリクス組み立て時間については、なぜ並列コア数に比例してスピードが上がってゆかないのか理由ははっきりとわかっていません。
考えられる理由として、領域分割の指定方法が適切でない、あるいは1CPUあたりのマルチコア並列(OpenMP)指定とマルチCPU間の並列(OpenMPI)指定の仕方(すなわちmpiexecのオプション指定)に一工夫必要なのかもしれません。
H/Tをオンにすると計算時間が増えてしなうのは、H/Tをオンにすると各コアの処理能力が異なり、静的負荷分散方式では、能力の高いコアの待機時間が生じてしまうためと推測されます。
プロセス並列動的負荷分散法(Advsolid-h)で、改善される可能性があると思われます。
いやあ、BDDの並列繰り返し計算早いですね。1億自由度超えモデルでも高々、1繰り返しあたり十数秒です。恐れ入りました。