Max*_*Max 5 c gpgpu
有人有维护 CPU 和 GPU 单一代码库的经验吗?我想创建一个应用程序,在可能的情况下使用 GPU 进行一些持久计算,但如果目标计算机上不存在兼容的 GPU,则它只会使用常规 CPU 版本。如果我可以使用条件编译指令编写一部分代码,将其编译为 CPU 版本和 GPU 版本,那将非常有帮助。当然,CPU 和 GPU 上会有一些不同的部分,但我想将算法的精髓保留在一处。这有可能吗?
pru*_*nge 1
OpenCL是一种基于 C 的语言。OpenCL 平台可在 GPU(来自NVidia和AMD)和 CPU(来自Intel和AMD)上运行。
虽然可以在 GPU 和 CPU 上执行相同的 OpenCL 代码,但它确实需要针对目标设备进行优化。需要为不同的 GPU 和 CPU 编写不同的代码才能获得最佳性能。然而,CPU OpenCL 平台甚至可以充当 GPU 优化代码的低性能后备平台。
如果您乐于编写根据目标设备(CPU 或 GPU)执行的条件指令,那么这可以帮助提高 OpenCL 代码在多个设备上的性能。
归档时间:
13 年,8 月 前
查看次数:
694 次
最近记录: