こんにちは。
下記件についてコメントが少ないのは、そもそも少ないというのも
あるかもしれないのですが、計算対象など情報が少なすぎるから
かもしれないので、OpenFOAMで何をCPUとGPUで高速に計算したいのか等
書かれるともしかすると良いかもしれません。
OpenFOAMで流体計算をする場合など、線形ソルバーが計算時間を大きく
占める場合を前提にお答えします。
> 自分で調べられる限りではCPUで並列計算するのみか
> GPUのみを使う方法しか見つけらていません。
もちろん方法はありますし、実現も可能です。
> 現在の環境をフルに生かせるような方法、ライブラリ等
> ご存知の方がいらっしゃいましたら御教授お願い致します。
大学・研究機関などではスパコン環境など含めてCPU+GPUのハイブリッド
計算はそれなりにありそうですが、フリーのライブラリなどでそれを
入れれば簡単にCPU+GPUのハイブリッド高速計算が実行されるという
ようなものはあまり聞かないようです。商用ならありますが。
(どうなんでしょう。識者の方ご存知でしたらお教え下さい。)
ご存知かもしれませんが、並列計算といってもさまざまありまして
CPUの並列化だけでも、ネットワーク越しに複数マシンで実現するものもあれば
同じマシン上で実装する場合もありますし、その場合でもメモリ共有の
スレッド並列型や分散メモリのプロセス並列型などあります。
更に、CPUとGPUを組み合わせる場合は、役割分担して実行する場合もあれば
同じ計算を振り分けて計算途中でロードバランスして割合を変更しながら
計算したりもできます。
今のところGPUのリソース、計算コアやGPUメモリをOSが管理して分配して
くれるようなOSはありませんので、CPUとGPUを使う場合、特に複数GPUが
入るような場合を含めて全てのリソース管理をプログラマー側が
ドライバーを通して管理することになります。
実現の難易度はさまざまで、問題の規模にも種類にも大きく依存します。
参考までに5月のOpenCAE勉強会の時の資料の一部をPDFで添付します。
マルチGPU・マルチCPUで計算したベンチマーク結果です。
ちょうどタイミングよく、
オープンCAEシンポジウム2014というのが11月13日(木)~14日(金)に
ありますが、偶然にもその辺の話があったような。。(←ステマ)
参考URL:
オープンCAEシンポジウム2014 – オープンCAE学会 -
http://bit.ly/1BXJBMD
オープンCAE勉強会@関東(流体など) -
http://bit.ly/1rrOhEI
2014年10月21日 17:10 横山太郎 <
thepap...@gmail.com>:
--
@amasawa_seiji