DALAB情報発信用ブログ:OpenCAE+GPGPU+Peridynamics編

DALABで行っている研究活動の中で、OpenCAEやGPGPUや破壊解析の取り組みについてまとめてゆきます。

DEXCS-OpenFOAMの有効活用:GPGPUによるDEM解析(1)

2011年11月20日 20時57分56秒 | DEXCS情報
今取り組んでいるDEM解析は、LIGGGHTSというシステムを用いていますが、これはLAMMPSという分子動力学のシステムがベースになっています。多数の粒子の相互関係を計算するので、非常に計算量が多く計算時間もかかります。

そこで最近流行のGPGPUの活用を試みたいと思います。どうもLAMMPSの方は古くから使われているシステムでGPGPUに対応する改良が既に行われているようなので、これに期待して最終的にはLIGGGHTSをGPGPUで高速処理することが目標です。

GPGPUの開発にはNVIDIAの提供するCUDAを用いるのですが、これはWindows/Linux/MacOSなどが公開されており自由に選択できます。今回は、LIGGGHTSとOpenFOAMとの連携であるCFDEMを目標にUbuntuのLinuxで構築することにします。

ベースですが、将来的にOpenFOAMと連携することを考えて近日公開予定のDEXCS20110forOpenFOAMを用いることにしました。これは先に解説したLIGGGHTSの構築検証ベースでもあります。要は、Ubuntu10.04-64bitということで考えてください。

構築に用いるハードウエアは以下のようなものです。CPUは4コアですがちょっと古いですね。メモリは検証用でCPUにあわせてほどほどです。
CPU: Intel Core2Quad Q8200 2.3GHz
RAM: 4GB
HDD: 500GB
さて問題のGPUですが、NVIDIA GeForce GTS 250です。こちらもちょっと古いですが検証用システムの仕様です。
GPU: NVIDIA GeForce GTS 250 1.8GHz 1024MB-RAM 128-CUDAcore

■ベースの構築
DEXCS2011forOpenFOAM(64)を用いてベースを用意します。要はUbuntu10.04(64)ですので、取り敢えず公開前の場合にはこれをインストールしてください。DEXCS2011forOpenFOAMについては、詳細なインストール手順が以下に公開されていますので、これに従って進めます。
http://mogura7.zenno.info/~et/collect/CAE/DEXCS/2011/DEXCS2011_Install.pdf

ネットワークの設定を済ませ、アップデートマネージャで再チェックを行い、最新の状態にしておきます。

■NVIDIAドライバの導入
上記のインストールが成功していれば、GUIが利用できて何らかのグラフィックのドライバが動作していると思いますが、ここで最新のNVIFIA GPUに対応したドライバを導入します。以下のコマンドを実行して、ネットワークからapt-getでインストールします。途中で確認があったら y で進めます。
$ sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
$ sudo apt-get update
$ sudo apt-get install nvidia-current
上記では、加えてnvidia-settingsもインストールされます
$ sudo apt-get install nvidia-current-modaliases

インストールが成功すると、システム⇒システム管理にNVIDIA X Server Settingsが追加されます。メニューからこのツールを実行すると、注意のメッセージが表示され、X configuration fileを修正するため、以下のコマンドを実行して、X Serverを再起動せよと指示がでます。
$ sudo nvidia-xconfig
新しいX Configuration fileが/etc/X11/xorg.confに作られたと表示されるので、X Serverの再起動するため、先のツールを終了して再起動します。X Severを変更したため注意のメッセージが出た場合には、Xをリスタートする選択します。

再度、NVIDIA X Server Settingsを起動すると、画面の解像度の設定などが確認できます。また利用するGPUの情報も確認できます。

■CUDA利用に必要なライブラリなど
以下のコマンドで、CUDAのコンパイルに必要なライブラリをインストールします。
$ sudo apt-get install freeglut3-dev
$ sudo apt-get install libxi-dev
$ sudo apt-get install libxmu-dev

以上で準備は終わりです。次はNVIDIAのサイトからCUDAのパッケージをインストールします。