4

我想在夏天学习如何进行 GPU 编程,我对所有语言/库都开放,但对 PyCuda 最感兴趣。

我不是一个强大的程序员;我可以用 Java 编写大多数我想要的程序,并理解 C 的基本原理,但是当我在后者中尝试任何复杂的东西时,几乎可以肯定会出现段错误或 malloc 错误。

因此,我真的需要一个“傻瓜”教程/指南/文档。理想情况下,指南将从 GPU 编程的基础知识到相当复杂的科学/数值编程,同时清晰而深入地解释每个细节,而不是认为任何先验知识是理所当然的。

4

1 回答 1

3

从 PyCUDA 开始并不能消除了解 CUDA 如何工作以及如何对 GPU 进行编程的需要。实际上,您可能需要按以下顺序执行以下所有操作:

  1. 学习足够多的 C 语言至少可以掌握语法并彻底理解指针和内存概念。后者非常重要,因为在 CUDA 中,您总是使用非统一的地址空间。如果您无法理解为什么指针不可移植并且在错误的内存空间中的指针间接无法工作,那么就会有很多龙。
  2. 以CUDA 为例,了解CUDA 编程背后的基本思想以及 API 的工作原理。
  3. 做任何你需要的“Python for dummies”和“numpy for dummies”教程,以加快 Python 的结束。

然后 PyCUDA 将变得完全不言而喻。我花了大约一个小时来消化 PyCUDA,因为我已经知道如何编写可工作的 CUDA 代码并大量使用 Python 和 numpy。

于 2011-05-20T06:29:04.770 回答