GPUチャレンジ2010のメモ

ちょっと前ですが5月27日にSACSIS2010に行ってGPUチャレンジ2010の自由課題に応募して優勝したときの内容を発表してきました。
GPUチャレンジについては↓
GPU Challenge 2010
あとマイコミでも取り上げられていたのでそちらもどうぞ。
NVIDIA、学生参加コンテスト「GPUチャレンジ2010」の表彰式 | パソコン | マイコミジャーナル
学生参加コンテストって書いてあるけど自由課題は助教授の人とかもokなので学生だけじゃないんですけどねw
応募した論文?は以下から見ることができますのでよろしければご覧ください。
GPUによるDNA断片配列の高速マッピング(pdf)

今回は規定課題のプログラムや自由課題のレポートはすべて公式ページにて公開されていますので興味のある方はそちらもどうぞ。

ホントはひっそりと参加してた規定課題の高速化についてあれこれ書こうと思ったけど上位チームのソースが公開されているのでやめておきます。
でも、簡単に発表で聞いてきた上位チームの高速化の要点を簡単に。

  • 計算しなければならない式の係数を式変形により削減
  • 計算した係数は使いまわす
  • 格子の端の部分の速度ベクトルを0にすることにより端の処理のif文削除
  • textureメモリの使用によるアライメントがとれていない位置の読み込みの高速化
  • .ptxを見て無駄な命令が出ないようにする
  • .cubinのバイトコードを見て同じように無駄な命令が出ないようにする(命令の種類はバイトコードからエスパーで判断したとかw)

発表では特に言ってませんでしたが他にもGPUとCPUの非同期通信やら、基本的な高速化は当然してあるそうです。

それにしてもエスパーは笑ったw