我是OpenCL编程的初学者。我的个人电脑上安装了Windows 8.1,包括英特尔图形和AMD Radeon 7670.当我搜索下载OpenCL SDK和样本helloworld程序时,我发现有单独的SDK和程序可以使用完全不同的格式。我必须使用C而不是C++。任何人都可以建议我应该安装哪个SDK?请帮忙。OpenCL哪个SDK最好?
0
A
回答
1
在最低级别上,各种OpenCL SDK相同;它们都包含来自Khronos网站的cl.h。包含该头文件后,您可以写入OpenCL API,然后您需要链接到SDK中提供的OpenCL.lib。在运行时,您的应用程序将加载GPU供应商安装在/ Windows/System32中的OpenCL.dll。
或者,您可以包含cl.hpp并使用C++包装器,但由于您说您是C程序员,并且由于大多数书籍都使用C API,因此请使用cl.h.我想认为这可能会解释你所做的“完全不同格式的程序”观察,这就是为什么我在这里提出它。
一个SDK比另一个SDK的好处通常是分析和调试。例如,AMD SDK包含APP Profiler(或现在的CodeXL),它将帮助您了解如何更快地制作内核。 NVIDIA为同样的目的提供Parallel Nsight,而且Intel也有性能工具。
因此,您可以根据您计算机中的硬件选择您的SDK,但要明白,一旦编码到OpenCL API,您的应用程序就可以在其他供应商的其他GPU上运行 - 这就是OpenCL的好处。您甚至应该能够从一个供应商处获得样品,以便从另一个供应商的硬件上执行。
需要注意的一件事是版本:如果您编码到OpenCL 1.2 SDK,则可能无法在OpenCL 1.1硬件上运行。
0
对我来说,OpenCL最棒的地方在于,你根本不需要SDK,因为它在一个通用接口背后抽象出不同的供应商实现(请参阅本主题中的答案:Do I really need an OpenCL SDK?)。
相关问题
- 1. Intel OpenCL SDK - 头文件在哪里?
- 2. NavigationDrawer(SlidingMenu):哪一个最好?
- 3. 哪个jQuery最好用
- 4. 哪个最好Copyto()或Clone()?
- 5. 哪个性能最好?
- 6. 哪个地方最好?
- 7. JSF vs Stripes,哪个最好?
- 8. Django CMS哪个最好?
- 9. 许多OpenCL SDK的。我应该选择哪一个?
- 10. mali SDK上的Opencl
- 11. 最好的方式? iPhone SDK
- 12. Mysql查询性能。哪一个最好?
- 13. 哪个编写scala方法最好?
- 14. 哪个开源工具最好?
- 15. 哪个导轨版本最好?
- 16. 哪个系统可以工作最好?
- 17. 哪个是最好的.Net XML-RPC库?
- 18. 哪个开源爬虫最好?
- 19. 哪个是最好的Maven Eclipse插件?
- 20. 哪一个最好使用jQuery库?
- 21. 哪个最好?多桌或单桌?
- 22. 哪个URL描述资源最好?
- 23. SlimDX与SDL--哪一个最好?
- 24. 记录哪个是最好的方式
- 25. 哪个是最好的媒体容器?
- 26. 哪个HTML5媒体JS框架最好?
- 27. 回应,结果,回复,哪个最好?
- 28. 哪个写sencha触摸代码最好?
- 29. 哪个是最好的Angular 4架构?
- 30. 哪个是最好的输入掩码?
不错的总结,但另一个重要的事实是,除了任何GPU之外,AMD平台还将CPU识别为OpenCL设备,而Nvidia平台仅识别GPU。 –
我还会补充一点,Nvidia的Parallel Nsight和分析工具不能与OpenCL一起使用,只能使用CUDA,但这对于OP来说并不重要,因为只使用了AMD GPU和Intel CPU。 – chippies
@roybatty,好点。英特尔OpenCL运行时还将CPU公开为设备。任何和所有这些平台可以同时安装和使用。 – Dithermaster