对于nVidia和AMD APP SDK 3.0,OpenCL中是否存在具有不同签名的等效函数?

时间:2017-11-02 16:51:02

标签: opencl gpu

我必须使用AMD APP SDK 3.0将两个矩阵相乘。我在这个链接http://gpgpu-computing4.blogspot.ro/2009/09/matrix-multiplication-1.html

上找到了一个很好的例子

问题是它使用的是nVidia OpenCL,我找不到两个方法和一个常量。 (两种方法:shrCheckError(...); oclLoadProgSource(...)常量:shrTrue)

我尝试在项目中包含所有标题,但它们仍未定义。 我可以使用AMD APP SDK中的等效方法而不是上面提到的方法吗?

1 个答案:

答案 0 :(得分:1)

首先,我来解释一下。没有NVidia OpenCL或AMD OpenCL这样的东西。有一个OpenCL规范和供应商实现他们的驱动程序。您提到的这些SDK仅是AMD和NVidia提供的示例代码。让我们回答一下。

您使用的示例实际上使用OpenCL的NVidia实用程序函数实现矩阵乘法。您可以将必要的文件添加到项目中,它们可以正常工作。如果您转到NVidia OpenCL examples的此页面,您可以从那里下载任何源代码。在源代码文件中,有一个名为" common"的文件夹。你可以在那个文件夹下找到必要的文件,即" oclUtils.h"和" oclUtils.cpp"。您需要的功能的实现就在那里。

还有一个名为shared的文件夹。在该文件夹中,您应该能够找到以shr开头的函数和变量,例如shrCheckError。