我在哪里可以找到一个;Cuda/PyCuda适用于假人”;辅导的

我在哪里可以找到一个;Cuda/PyCuda适用于假人”;辅导的,cuda,resources,gpu,pycuda,Cuda,Resources,Gpu,Pycuda,我想在夏天学习如何进行GPU编程,我对所有语言/库都开放,但对PyCuda最感兴趣 我不是一个很强的程序员;我可以用Java编写出我想要的大多数程序,并理解C的基本原理,但当我在后者中尝试任何复杂的东西时,segfault或malloc错误几乎是肯定的 因此,我真的需要一个“傻瓜”教程/指南/文档。理想情况下,指南将从GPU编程的基础知识一直到相当复杂的科学/数值编程,同时以清晰和深入的方式解释每个细节,而不是将任何先验知识视为理所当然。从PyCUDA开始并不能消除理解CUDA如何工作以及如何编

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

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


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

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

  • 学习足够的C语言,至少掌握语法,彻底理解指针和内存概念。后者非常重要,因为在CUDA中,您总是使用非统一的地址空间。如果你不能理解指针为什么不可移植,指针在错误内存空间中的间接寻址也不能工作,那么就会有很多龙
  • 学习一些东西,比如了解CUDA编程背后的基本思想以及API是如何工作的
  • 做任何你需要的“Python for dummies”和“numpy for dummies”教程,以跟上Python的发展

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

    你知道在PyCUDA中,GPU本身仍然是用“CUDA C”(C/C++混合体)编程的吗?PyCUDA提供了一个很好的主机api的pythonic抽象和很好的numpy互操作性,但是你仍然需要有“C语言”来编写在GPU中运行的代码。我理解这一点。我想PyCuda可能有更好的教程;由于你提到的原因,我也计划早晚学习,所以我想我可能会和CUDA同时学习。如果你知道专门针对CUDA的好教程,那也太棒了!至于“C印章”-无论我使用什么接口/API,我都不会有这些印章;我将不得不开发它们-“火试”这个由udacity提供的免费课程是一个很好的资源:谢谢!我想我需要真正关注C端,这将是瓶颈,而不是python。顺便问一下,CUDA的设计是不是让它不会把GPU搞砸,不管程序写得多么糟糕?我绝对不能伤害我的GPU。你不能用CUDA编程对GPU做任何有害的事情,最坏的情况是在旧卡上,你可以用软管连接桌面显示ram,需要重新启动。但是CUDA的工作负载在硬件上可能和在3d游戏上一样困难,所以如果你的散热不良或电源不可靠,那么同样的警告也适用于重型3d游戏。