gpt4 book ai didi

cuda - GPU 编程、CUDA 还是 OpenCL?

转载 作者:行者123 更新时间:2023-12-03 05:22:01 33 4
gpt4 key购买 nike

我是 GPU 编程的新手。我有一台配备 NVIDIA GeForce GT 640 卡的笔记本电脑。我面临两个困境,欢迎提出建议。

  1. 如果我选择 CUDA - Ubuntu 或 Windows 显然 CUDA 更适合 Windows,但在 Ubuntu 上安装可能是一个严重的问题。我看到一些博文声称在 Ubuntu 11.10 上安装了 CUDA 5和 Ubuntu 12.04 。但是,我无法让他们工作。另外,standard CUDA textbooks更喜欢在 Windows 域中工作,并且或多或少对 Unix/Ubuntu 安装和工作保持沉默。

  2. CUDA or OpenCL - 现在这可能比我的第一个问题更棘手!我主要遇到过使用 CUDA/Nvidia 的 GPGPU 项目,但 OpenCL 可能是开源中的下一个最佳选择,并且在 Ubuntu 中安装可能不会成为问题,尽管这里的一些建议将是最有用的。如果我选择 OpenCL 而不是 CUDA,我是否会牺牲任何功能?

有什么帮助或建议吗?

最佳答案

  1. 如果您使用 OpenCL,您可以轻松地在 Windows 和 Linux 上使用它,因为拥有显示驱动程序就足以运行 OpenCL 程序,而对于编程,您只需要安装 SDK 即可。 CUDA对特定GCC版本等有更多要求。但在Linux上安装也没有什么困难。

  2. 在 Linux 中,CUDA 有一些奇怪的要求,例如使用 GCC 4.6 或 4.7。如果您使用不同版本的 GCC,您将无法再编译您的程序。如果您使用 OpenCL,则可以使用任何编译器,因为您只需要链接到通用 OpenCL 库即可。因此 OpenCL 更容易设置、使用和编译。一旦编译了 OpenCL 程序,它就可以在任何硬件上运行(只要它经过编码),即使它是使用其他品牌的 OpenCL SDK 编译的。

您可以编写可在 Nvidia、AMD 和 Intel 硬件、GPU、CPU 和加速器上运行的 OpenCL 程序。更重要的是,Altera 正在致力于在 FPGA 上支持 OpenCL!如果您使用 CUDA,则必须仅使用 Nvidia GPU,并使用 OpenCL 或其他语言为其他平台重新编写代码。使用 CUDA 的严重限制,从长远来看会造成严重的时间浪费。

我看到有人发布了 CUDA 和 OpenCL 之间的一些旧引用,但它们已经旧了!当这些文档发布时,只有 AMD 正确支持 OpenCL。自2013年起,OpenCL得到ARM、Altera、Intel等公司的支持,并成为行业标准。

唯一的缺点是,由于 OpenCL 非常灵活,您将面临更多的选项和方法来在程序中编码内存分配、传输等。因此可能感觉更复杂。

关于cuda - GPU 编程、CUDA 还是 OpenCL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18014327/

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