この間、
CUDAでGPGPU の記事で、
処理を CUDA で書き直しても10倍程度しか高速化されず・・・
と書きましたが、これは書籍に掲載されていたコードが シェアードメモリ を使用していない
ちょっと中途半端な物だったのが原因でした。
シェアードメモリを使用するように書き直してみると、しっかり100倍以上!の
速度で処理してくれるではありませんか!
もし、このコードで著者の方のPC(GeForce GTX 480)において、
100倍の高速化が成されていたなら、
GeForce GTX 480 ってドンだけ速いんだ!!!!! って事になりますが、
おそらく、掲載したコードと、実際に時間を計測したコードに違いがあるのでしょう。
ちなみに、それほどたいしたことがない私の環境(Core 2 Duo 2.4GHz)でも、
CPUプログラムの実行速度を著者の環境と比べて、3倍くらい速く動いていました。
どんだけ遅いCPUに速いGPUを乗せて、「ほら、こんなに差が出るでしょ??」
っとやっているのか・・・なんだか疑惑がわきました (^ ^;)
ちなみに、
最後に、AMDのRADEONってありますが、
GeForce GTX 480 が、480コア。 ¥46,799~
GeForce GTX 580 が、512コア。 =未発売=
それに対して、
Radeon HD 5870 が、1600コア! ¥37,970~
Radeon HD 5970 が、3200コア!!!!! ¥65,800~
AMD(旧ATI) Radeon 恐るべし!
速いとこ、CUDAを卒業して、OpenCLへポートしなきゃ・・・