[问题] OpenCL请教

楼主: leoloveivy (cried)   2015-07-15 19:11:17
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
VS2012
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
OpenCL OpenCV
问题(Question):
BGR_image => GRAY_image
基本平行处理程式写法
由于在GPU写程式
我转灰阶方法去掉浮点数运算
不知道这样可不可以加速及解决精度问题
以及kernel如何改善
喂入的资料(Input):
high resolution image 4K 8K 16K image
http://imgur.com/LxtoRvA
预期的正确结果(Expected Output):
http://imgur.com/y2A7Jfa
错误结果(Wrong Output):
程式码(Code):(请善用置底文网页, 记得排版)
host http://ideone.com/hbnwdB
kernel http://ideone.com/PRZSA6
补充说明(Supplement):
这是我现在大概了解的写法http://imgur.com/N7GyP7v
但我想学习以下http://imgur.com/BsKFm6d
像区块的平行运算 因为对于我学习影像处理
希望有人可以请教交流
作者: Feis (永远睡不着 @@)   2015-07-15 19:19:00
去掉浮点运算会加速? 这蛮神秘的. 可能我太久没写 GPU如果两年前的经验还有用的话. 你就是一个 kernel 多做点事一个算十个 pixel 之类的.事实上可能一个算百个以上会比较划算 (?
作者: johnjohnlin (嗯?)   2015-07-16 09:26:00
反正是 memory bound,随便写都会顶到最高效率
作者: mike0227 (我又小看了那复杂的世界)   2015-07-17 03:45:00
找个filter的范例来写吧 才会用到local memory还有GPU上通常用float算都比int快
作者: s86097john (锅子)   2015-07-25 14:59:00
关于你想学的第二种方法,可以尝试用在kernel code那用read_image 还有write_image的opencl kernelbuilt-in function 去实作,当然agent code那边也要做相对应的修改,你可以google "image object" "opencl"

Links booklink

Contact Us: admin [ a t ] ucptt.com