我只是想让自己熟悉OpenCL,但当互联网上的每个人都在谈论下载特定于供应商的OpenCL SDK时,我感到很困惑。我为什么需要那个?
我对使用OpenCL的理解如下:
之所以让我感到困惑是因为我认为OpenCL应该抽象出特定于供应商的实现。如果我现在下载特定于供应商的SDK,那么这个优势是否会被破坏?
有人可以说清楚吗?
答案 0 :(得分:17)
您的理解绝对正确 - 您不需要任何供应商SDK来开发或运行OpenCL程序。您只需要标题和要链接的库。供应商SDK提供了在您学习如何使用OpenCL时可能有用的示例代码,它们还可以提供有助于开发的工具。
在Windows上,您需要一个OpenCL.lib
库来链接,SDK会提供这些库。如果您愿意,可以download the sources使用此库并自行构建。
然而,使用特定供应商的SDK并没有什么坏处。他们在SDK 中提供的标题和库应只是您可以自己下载的库存Khronos版本。这意味着使用一个供应商的SDK构建的OpenCL应用程序仍可以正常运行其他供应商的设备。