【问题标题】:Are there equivalent functions with different signature in OpenCL for nVidia and AMD APP SDK 3.0?在 OpenCL for nVidia 和 AMD APP SDK 3.0 中是否有具有不同签名的等效功能?
【发布时间】:2017-11-02 16:51:01
【问题描述】:

我必须使用 AMD APP SDK 3.0 将两个矩阵相乘。我在这个链接上找到了一个很好的例子http://gpgpu-computing4.blogspot.ro/2009/09/matrix-multiplication-1.html

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

我尝试在项目中包含所有标题,但它们仍然未定义。 AMD APP SDK 中是否有可以替代上述方法的等效方法?

【问题讨论】:

  • 我不熟悉这些 API,所以它们一定来自 NVIDIA 演示代码。我猜 shrCheckError 检查和 OpenCL 返回码;您可能可以替换和清空函数。我猜 oclLoadProgSource 从文件中加载源代码,但我可能是错的。

标签: opencl gpu


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2016-01-20
    • 2019-04-03
    • 2012-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多