我真的需要OpenCL SDK吗?

时间:2015-03-19 13:39:56

标签: windows sdk opencl

我只是想让自己熟悉OpenCL,但当互联网上的每个人都在谈论下载特定于供应商的OpenCL SDK时,我感到很困惑。我为什么需要那个?

我对使用OpenCL的理解如下:

  1. 下载由Khronos OpenCL Registry 中的Kronos维护的OpenCL头文件,并将其提供给您的编译器。
  2. 编译代码并链接到OpenCL.dll。
  3. 之所以让我感到困惑是因为我认为OpenCL应该抽象出特定于供应商的实现。如果我现在下载特定于供应商的SDK,那么这个优势是否会被破坏?

    有人可以说清楚吗?

1 个答案:

答案 0 :(得分:17)

您的理解绝对正确 - 您不需要任何供应商SDK来开发或运行OpenCL程序。您只需要标题和要链接的库。供应商SDK提供了在您学习如何使用OpenCL时可能有用的示例代码,它们还可以提供有助于开发的工具。

在Windows上,您需要一个OpenCL.lib库来链接,SDK会提供这些库。如果您愿意,可以download the sources使用此库并自行构建。

然而,使用特定供应商的SDK并没有什么坏处。他们在SDK 中提供的标题和库应只是您可以自己下载的库存Khronos版本。这意味着使用一个供应商的SDK构建的OpenCL应用程序仍可以正常运行其他供应商的设备。