开发平台(Platform): (Ex: Win10, Linux, ...)
win10
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
VC++
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
OpenCL
问题(Question):
希望透过opencl对图像运算做加速(1080 x 960)
opencl似乎没有达到平行化运算的优化
想请教是哪里没注意到
喂入的资料(Input):
两块参考图片、与一块输出图片的一维阵列内存加上一些定值参数
预期的正确结果(Expected Output):
由于切成1080个work item 预期要比cpu快很多
但结果却没快多少 0.4s >> 0.3s
错误结果(Wrong Output):
由于我水平方向有相依性,所以global_work_size 我是设置1080
一次算一列,但发现我的图片高度减半运算时间也减半
照理说运算时间应该差不多等于算最久的那列的时间
程式码(Code):(请善用置底文网页, 记得排版)
附上 opencl 的kernal 程式 .cl
https://github.com/ChiFang/question/blob/master/calcCostSmoothLMat_kernel.cl
补充说明(Supplement):
时间上只有LOG clEnqueueNDRangeKernel
buffer 搬到gpu的部分已在其他地方做完