CUDA或同类产品可用于英特尔集成显卡吗?

4

我想学习GPGPU和CUDA编程。但我知道只有Nvidia显卡支持此功能。我的笔记本电脑有一个Intel HD显卡。因此,我需要搜索一下是否有可能使用Intel显卡进行GPGPU或类似操作。感谢任何信息。


2
欢迎来到 Stack Overflow。请阅读 提问的智慧你有尝试过什么?如何聪明地提出问题 - user647772
3个回答

6
要在CUDA上开发,您有以下选项:
  • 使用NVIDIA GPU - 自2006年左右以来,所有NVIDIA服务器,台式机和笔记本电脑GPU均支持CUDA。由于您的笔记本电脑没有GPU,因此可以尝试远程使用。
  • 使用PGI CUDA x86,不免费但可实现您想要的功能。
  • 使用gpuocelot在CPU上执行PTX,这是一个正在开发中的开源项目,因此结果可能会有所不同。

4
今天你不能在英特尔HD图形卡上进行GPGPU,除非你进行基于着色器的编程(这在CUDA和OpenCL出现之前是常见做法)。
根据我的经验,PGI X86似乎已经失败了,我不知道有谁在使用它。Ocelot是另一种尝试,但它非常研究性质,在这一点上还不完全稳定。
唯一符合OpenCL标准的英特尔设备是最新的CPU(Sandy Bridge和Ivy Bridge)。
你的系统中有什么CPU?

我的CPU是英特尔Core i5-2520M。我不知道它是Sandy Bridge还是Ivy Bridge。然而,我认为OpenCL不需要它?Larrate和ArBB呢?这种工作有很多种,而且并不是所有的都能在未来立足。 - HongAnTC AnAn

1

CUDA是Nvidia特定的入门级别。CUDA中始终存在GPU仿真器,因此您可以轻松地在没有图形卡的情况下使用它们,尽管速度会很慢。更快的解决方案是x86实现。任何一种都可以让您在完全不使用GPU的情况下学习CUDA的基础知识。

如果您想要学习GPGPU的基础知识,您仍然可以选择学习OpenCL,它得到了更广泛的支持,包括AMD、Intel、Nvidia等等...例如,Intel有一个OpenCL SDK(目标是CPU,但我猜对您来说无关紧要)。

在学习了CUDA或OpenCL的基础知识之后,学习另一个将变得容易。虽然语法和语义不同,但是由于概念相同,所以这是一个简单的步骤向前。


2
OpenCL无法在(当前的)英特尔GPU上运行。他们的实现只能在CPU上运行 - 适用于学习,但不太适用于应用程序。 - Martin Beckett
2
你可能指的GPU模拟器在最近几个版本中已经不再是CUDA的一部分了。 - Bart
谢谢,你给了我一些线索。我打算尝试使用OpenCL。因为我想看看任何高性能或并行处理,而不仅仅是编程。我听说过ArBB,但OpenCL是用于异构计算的,对吧? - HongAnTC AnAn
我已经有一段时间没有接触CUDA了,我不知道模拟器已经被移除了。我认为ArBB类似于Nvidia库,如Cublas。它们都在目标硬件上运行,但隐藏了架构的复杂性,并具有简单的C/C++库。我认为对于学习来说,实际目标是CPU还是GPU基本上是无关紧要的。 - tothphu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接