gpt4 book ai didi

c - 在编写 openCL 代码时,它在没有 GPU 的单核机器上表现如何?

转载 作者:太空狗 更新时间:2023-10-29 15:18:36 29 4
gpt4 key购买 nike

大家好,我目前正在将 raytracer 从 FORTRAN 77 移植到 C 以用于研究项目。

移植了基本要素之后,问题是我们如何进行并行化。
在实验室中,我可以使用几台不同的 Opteron 机器,它们有 2 到 8 个内核,但没有 GPU(目前)。我们正在运行 64b gentoo。

GPGPU 版本(非常)可取,但项目中只有一名程序员,维护单独的非 GPU 和 GPU 版本不是一种选择。
此外,该代码将采用 GPL 认证,我们希望看到它被可能拥有截然不同硬件的其他人使用。

因此整个程序必须易于编译/运行,无需 GPU 甚至多核系统。
OpenCl 似乎是一个不错的选择,因为它可以在没有 GPU 的机器上运行,但这段代码在单核或 32b 系统上的表现如何?
是否可以编写无需 openCL 即可轻松编译的代码?

最佳答案

目前有四种主要的 OpenCL 实现:AMD、nVidia (Cuda)、Apple、Intel,并且很快可能会有更多:OpenCL implementations .OpenCL 不是专门针对 GPU 计算的语言,它被设计为异构设备的通用计算语言。例如。即使没有 GPU 和任何非 AMD CPU(当然是 x86),您也可以使用 AMD 实现。

Would it be possible to write the code in such a way that it can easily be compiled without openCL?

正如您所说,这是一个单人项目,我怀疑是否值得付出努力。

How will this code perform on a single-core or 32b system?

与任何 native 程序一样好。您可以通过 OpenCL vector 类型访问 SIMD。您可以通过工作组配置处理线程。

但是不要指望您可以从每个具有相同内核/工作组设置的设备中获得 100% 的性能。可以进行很多设备特定的调整 ( OpenCL CPU Tutorial for a start )。

我会说选择 OpenCL。它为您的应用程序提供了更多可能性,并且它与平台无关。

关于c - 在编写 openCL 代码时,它在没有 GPU 的单核机器上表现如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4850358/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com