在OpenCL内核中调用BLAS例程

时间:2013-09-10 01:05:59

标签: image-processing opencl blas

目前我正在使用OpenCL做一些图像处理算法。基本上我的算法需要为每个像素求解线性方程组。每个系统都独立于其他系统,因此并行实现是很自然的。

我查看了几个BLAS包,例如ViennaCL和AMD APPML,但似乎它们都具有相同的使用模式(主机调用BLAS子程序在CL设备上执行)。

我需要的是一个可以在OpenCL内核中调用的BLAS库,这样我就可以并行解决许多线性系统。

我在AMD论坛上发现了类似的问题。

由于

1 个答案:

答案 0 :(得分:0)

不可能。 clBLAS例程使一系列内核启动,一些'解决'例程内核启动非常复杂。 clBLAS例程将cl_mem和commandQueues作为args。因此,如果您的缓冲区已经在设备上,clBLAS将直接对其进行操作。它不接受主机缓冲区或管理主机 - >设备传输

如果您想查看生成和启动的内核,请取消注释此行https://github.com/clMathLibraries/clBLAS/blob/master/src/library/blas/generic/common.c#L461并构建clBLAS。它将转储所有被称为

的内核