有没有人有维护CPU和GPU的单一代码库的经验? 我想创建一个应用程序,尽可能使用GPU进行一些长时间的计算,但是如果兼容的GPU不在目标机器上,它只会使用常规的CPU版本。如果我可以使用条件编译指令编写代码的一部分,这将编译为CPU版本和GPU版本,那将非常有用。当然,对于CPU和GPU,会有一些不同的部分,但我想将算法的本质保留在一个地方。这是否可能?CPU和GPU相同的代码库
4
A
回答
1
OpenCL是一个基于C的语言。存在运行在GPU(来自NVidia和AMD)和CPU(来自Intel和AMD)的OpenCL平台。
虽然可以在GPU和CPU上执行相同的OpenCL代码,但确实需要针对目标设备进行优化。为了获得最佳性能,需要为不同的GPU和CPU编写不同的代码。但是,CPU OpenCL平台可以作为GPU优化代码的低性能回退。
如果您很高兴编写根据目标设备(CPU或GPU)执行的条件指令,那么这可以帮助在多个设备上执行OpenCL代码。
+0
据我所知CUDA也使用C/C++语言的变体。还有新的Visual Studio 11应该支持ATI和NVidia GPU。所以我认为我不仅限于OpenGL,或者我?另一点是我同意写一些CPU/GPU特定的代码,我只是不想保留算法的主要逻辑的两个版本。 – Max 2012-03-09 14:53:18
相关问题
- 1. GPU和CPU上的相同代码,但结果不同
- 2. CUDA功能相同的CPU和GPU
- 3. 串行CPU与GPU代码
- 4. 做wglGetCurrentContext同步GPU和CPU?
- 5. 为什么Opencv GPU代码比CPU慢?
- 6. Tensorflow:在GPU和CPU
- 7. CPU和GPU与Theano
- 8. CPU和面向GPU的代码有什么区别?
- 9. 与相同的代码库
- 10. GPU相对于CPU的性能
- 11. CUDA - 相同的算法适用于CPU,但不适用于GPU
- 12. Python的Tensorflow运行在GPU代替CPU
- 13. Mesa3d CPU或GPU?
- 14. cpu vs gpu - CPU好时
- 15. 程序执行在CPU和GPU上几乎相同的使用时间?
- 16. 具有相同的代码库
- 17. 的OpenCL +的OpenGL以减少CPU和GPU
- 18. 相同的代码
- 19. Keras中CPU和GPU的混合使用
- 20. CPU和GPU的操作并行
- 21. cpu和GPU之间的区别(图形)
- 22. 从托管代码执行CPU/GPU指令
- 23. 确保Python代码是否在GPU或CPU上运行
- 24. 如何知道使用GPU或CPU执行代码?
- 25. MPI-2 CPU VS GPU
- 26. GPU + CPU Tensorflow训练
- 27. theano在CPU和GPU上有不同的结果
- 28. 相同的AES代码swift 2和android
- 29. Cocos2Dx和Cocos2d-html5的代码相同吗?
- 30. WPF和Silverlight的相同代码基础?
您没有指定操作系统,但我希望这是操作系统特定的。 – dandan78 2012-03-09 09:43:38
您不希望为CPU和GPU使用完全相同的代码结构,因为它们对于两者都不是最佳的。 – 2012-03-09 09:43:53
当然这是可能的抽象意义。它需要一些组织,但它肯定是可行的。例如,查看[Thrust](http://code.google.com/p/thrust/)(现在已与CUDA捆绑在一起)。它为实际计算提供了几个后端。 – Bart 2012-03-09 09:44:05