社内勉強会

社内の持ち回りの勉強会で、今日の当番の人が忙しくて辞退したので、代わりに担当してみた。
CUDAでの最適化と画像に関するアルゴリズムの話をした。
自分で話しておいて何だが、アルゴリズムに関する数学的な質問は答えられないので一緒の仕事をしている頭のいい同僚に回答して貰った。

わざわざ担当したのは、自分がやった程度の事でも社内で役に立つ人がいるかもしれないという思いと、何らかの指摘やさらなる高速化のアイデア等、自分が得るものへの期待からだ。
仮に自分の話が役に立たなくても、集まった人たちがGPUの最適化の話で盛り上がればそれだけでも価値がある。

とりあえず次の収穫がえられたので上出来だ。
・Xが立ち上がっていないとGPUの初期化に時間がかかるらしい。
(X上の端末からGPUのアプリを走らせて違いを計ってみる予定)
・Global MemoryからShared Memoryへの矩形エリアの読み込みには32threadを16thread * uint4 * 2lineとして読み込むよりも、32thread * (uint1 or uint2)で複数回かけて読み込んだ方が速いはずとのこと。
(こちらは自分でもいろいろ試した結果uint4の読み込みを使って複数ライン同時読み込みが速いという結論になったので、時間ができたら再度いろいろ試してみる)