09/12/07 16:15:39
>>317
ptx出力を眺めれば判るけど、普通のCならできる最適化もGPU向けにはできないことが多いよ。
敢えて言えば、ポインタ変数に尽くvolatileがついているかのように振る舞うみたい。
例えば、
int function(int * foo) {int bar = 3; foo[0] = bar; return foo[0];}
みたいなコードはCPU向けには
{foo[0] = 3; return 3;}
のように最適化されるのにGPU向けには
{foo[0] = 3; return foo[0];}
のように律儀に解釈される。
なので、ptx出力を読めるかどうかは割りと重要かも知れず。
# つーか、メモリアクセスの個数を数えるくらいのことは普通にやってる。