一个很好的OpenCL入门套件?

时间:2012-01-20 09:59:35

标签: ide opencl

我对 OpenGL 及其可编程管道有一些经验。不过,我想试试 OpenCL

有人可以提出一个很好的集成工具包来处理 OpenCL 吗?

我只知道 QuartzComposer 看起来很不错,但它只是mac-only。任何人都知道它是否支持手工编辑OpenCL内核,还是仅通过GUI进行编辑?

任何其他 Linux / Windows 替代方案?

5 个答案:

答案 0 :(得分:4)

OpenCL Studio

OpenCL工作室通过提供基于Lua的基础架构隐藏了您必须编写的大部分样板代码 - 读作:对于您可以在Lua中编码的主机代码(在CPU上运行的代码)。它还附带了一堆例子。 GUI感觉有时候会被黑客攻击。我也没有找到关于如何使用软件本身的大量帮助/文档。 总而言之,我认为它大大减少了OpenCL的学习成果。

答案 1 :(得分:4)

Quartz Composer确实有一个OpenCL“补丁”,您可以在其中手动编辑内核。这是一种非常好的方式来尝试基于CL的顶点或颜色生成等功能,然后您可以在后续补丁中显示这些内容。一旦你在那里工作,你通常可以跳转到使用平台的CL / GL互操作设施的纯C / C ++代码。

如上所述使用CL肯定会让您对OpenCL C语言有所了解。但是,您仍然需要了解OpenCL运行时工具。

答案 2 :(得分:4)

(免责声明:我是OpenCLHelper的开发者)。

我不确定您的要求是什么,即如果您正在寻找OpenCL的IDE,配有调试器等等,那么您可以停止阅读此回复。

但是,如果你想要的是一种使用OpenCL而不是样板的方法,并且可以很容易地加载内核并将参数传递给它们,那么你可以考虑使用OpenCLHelper

https://github.com/hughperkins/OpenCLHelper

OpenCLHelper:

  • 处理初始化OpenCL,定位设备,创建队列的大部分样板
  • 可以很容易地将参数传递给内核并从内核接收参数
  • 使用提示,因此在运行时绑定到OpenCL,以防万一你需要将OpenCL作为程序的可选部分,而不是在运行时强制执行
  • 使得从一个内核获取数据并将其提供给下一个内核相对轻松,而无需在GPU和PC内存之间前后移动

答案 3 :(得分:3)

对于Windows(Vista,7),请尝试使用VS2010 C ++ Express

http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express

使用AMD App SDK

http://developer.amd.com/sdks/AMDAPPSDK/downloads/Pages/default.aspx

有很多OpenCL示例。它可以在过去7年制造的任何Intel x86或x64 CPU上安装和运行。

答案 4 :(得分:2)

有些选项

AMD APP SDK

AMD APP SDK附带OpenCL编译器,Profiler,内核分析器。 您还可以尝试AMD gDEBugger,与NVIDIA和英特尔相比,这可能是您获得OpenCL GPU调试的最佳选择。

NVIDIA OpenCL包

NVIDIA OpenCL pack您可以注册并下载opencl示例,Nsight,Visual profiler等。

英特尔OpenCL SDK

如果您想在Sandybridge处理器上运行程序,

Intel OpenCL SDK是另一种选择。

COPRTHR SDK

布朗鹿技术COPRTHR SDK包含丰富的OpenCL库。

Multicoreare Tools

另一个选项是Multicoreare Tools,它结合了CUDA / OpenCL,Pyon和DSL Code,并为底层硬件生成ISA。