テストステ論

高テス協会会長が, テストステロンに関する情報をお届けします.

(bphcuda report) bphcudaをお試しください

https://github.com/akiradeveloper/bphcuda

Boltzmann Particle Hydrodynamics(BPH)とは何かは, READMEからリンクされている講演をご覧ください.

https://www.cps-jp.org/modules/mosir/player.php?v=20111027_matsuda

BPHCUDAは, このGPU実装です. 世界初です. そしてたぶんこの先, 実装されることはありません. 難しいからです.

使うためには高度な物理学の知識がいると思います. アプリケーションも限られています. なので, 企業や大学で使っていただけると嬉しいです. JAXAなどにもアプリケーションが期待出来ます. こちらも嬉しいです.

私が過去に実験したのは, GTS450(修士時)とGTX660(現在)だけです. 他のマシンを持っている方は是非実験してください. CUDAが動くのであれば, ビルドも実行も簡単です. SConsやRakeが必要ですが, Linuxマシンであればこれらは簡単に入れることが出来ます. 凝ったソフトウェアには一切依存していません. Thrustも, 現在のCUDAには標準でついています.

ビルド

bphcudaは, thrustingというthrust拡張ライブラリを使っています. これは多くのヘルパーを自動生成します. src/thrustingに移り, rake buildとしてください.

次に, SConsでコンパイルします. scons -arch=sm_30などと打ってください. smなんとかのところ(compute capbilityといいます)は, GPUアーキテクチャに寄ります. 適当に調べてください. https://developer.nvidia.com/cuda-gpus で調べることが出来ます. GPUの名前を入れて, compute capabilityを調べてください. 例えば私が持っているのはGTX660ですから, 3.0です. なので, sm_30と入力します.

自動単体テスト

まず, Google Testを使った自動テストを行います. test/に移ってrun allとしてください.

パフォーマンステスト

続いて, performance/に移り, こちらもrun allとしてください. performance/figure以下の画像が, performance/sample以下の画像と一緒であることを確認してください. webブラウザを通してであれば, READMEに表示されます. https://github.com/akiradeveloper/bphcuda/tree/master/performance

性能レポートの送付

performance/time以下のデータを送ってください. issuesに書いていただいても構いません.

倍返しが始まるので以上です. アプリケーションを実装し, それが公開出来るものであれば送っていただけるとありがたいです. 宇宙シミュレーションなどをすることが出来ます. 詳しいことは分かりませんが, 粒子の動きが超絶速いという前提条件があります.