我正在开发一个使用AMD GPU处理数据的项目。我注意到AMD在他们的网站上有两个不同的SDK可用于使用GPU:ATI Stream Technology和 OpenCL™ and the AMD APP SDK。看起来它们都支持OpenCL,但我没有在网站上找到任何明确指出为什么会使用一个而不是另一个。这两者有什么区别?
答案 0 :(得分:3)
AMD APP SDK在这里:http://developer.amd.com/sdks/AMDAPPSDK/Pages/default.aspx
该网站还应回答有关Stream和APP之间差异的问题:
AMD加速并行处理(APP)SDK(以前称为ATI Stream)
它曾经被称为AMD Stream SDK,他们可能在添加对非Firestream硬件(即OpenCL)的支持后重命名它
答案 1 :(得分:1)
stream是更高级别的特定于amd的项目(硬件和软件),其中包括opencl作为当前的软件实现。 stream最初使用的是“brook”语言,但是switched to opencl in 2011。从那时起opencl变得越来越流行(因为它是一个特别受苹果支持的跨平台标准),而且这些日子似乎并没有多少提及流。您可以在http://www.amd.com/us/products/technologies/stream-technology/opencl/pages/opencl.aspx之类的链接中看到这一点,其中opencl是流的“子”(或该页面左侧的菜单,其中较高级别的组是流;其他子项与硬件相关)。 / p>
简而言之,你想要opencl。尽管amd的网站令人困惑,但他们的opencl实现非常可靠。
嗯。重新阅读你的问题,你似乎说有两个独立的sdks。你真的钻到两个不同的包吗?我的理解是opencl 是流sdk。如果你找到了两个不同的sdks(既是最新的)又可以链接到它们吗?