別のブログで公開してたものです。
一部をこっちのブログに移行しようと手動で(^^;)移行したものです。
OpenCLでノイズ除去(メディアン法)を作ってみたんだが
CPUより遅い結果に(^_^;)
とりあえず、こんな結果に
| 時間(秒) | |
| OpenCL | 12.693 |
| C言語(OpenMP使用) | 10.145 |
| C# | 11.682 |
約2350x3520のJPEG画像10枚分を読み込んで処理して保存するのにかかった時間。
ハードウェアはCPUがCore2 Quad Q9400 2.66GHz、GPUがGeforce GTS 250でちと古が・・・
ノイズ除去の処理をしているところを詳しく測ってみると
| OpenCL | C言語(OpenMP使用) | C# | |
| 001.jpg | 0.3854 | 0.4928 | 0.827 |
| 002.jpg | 0.302 | 0.338 | 0.7846 |
| 003.jpg | 3.5322 | 0.49 | 0.7492 |
| 004.jpg | 0.3528 | 0.4908 | 0.6914 |
| 005.jpg | 0.3762 | 0.5196 | 0.684 |
| 006.jpg | 0.3808 | 0.521 | 0.6946 |
| 007.jpg | 0.3528 | 0.5258 | 0.681 |
| 008.jpg | 0.3734 | 0.5378 | 0.6848 |
| 009.jpg | 0.3624 | 0.537 | 0.6928 |
| 010.jpg | 1.6578 | 0.5728 | 0.681 |
003.jpgと010.jpgが極端に遅く、それ以外はC言語に勝っていることがわかる。
念のため003.jpg単独で何度か測ってみたが、だいたい3.5秒という結果になった。
つまり、データ依存してるってことだ。
メディアン法でデータの内容で時間が変わりそうなのが最後にソートしているところになる。
ソートしなければどうなるか測ってみた(メディアン法でもなんでもなくなるんだがw)
0.25
0.237
1.134
0.229
0.229
0.233
0.229
0.23
0.227
0.473
003.jpg,010.jpgが極端に速くなったが、
それでも他と比べると遅い。
ふむ、これだとよくわからないという結論に・・・
コメント