mar*_* go 10 python gpgpu opencl pyopencl
我最近发现了GP-GPU(通用图形处理单元)的强大功能,并希望利用它在一台机器上执行"繁重"的科学和数学计算(否则需要大型CPU集群).
我知道有几个接口可以在GPU上运行,其中最突出的是CUDA和OpenCL.后者具有防止CUDA在大多数显卡(NVIDIA,AMD,Intel)上运行的优势,而不仅仅是NVIDA卡.在我的情况下,我有一个普通的Intel 4000 GPU似乎与OpenCL很好地合作.
现在,我需要学习如何使用PyOpenCL来进一步操作!所以这里有一个问题:
我怎样才能开始使用PyOpenCL?有什么先决条件?我真的需要有Python和/或OpenCL的经验吗?
我的背景是在fortran中,事实上我需要将冗长的fortran代码翻译并并行化为python(或pyopencl),主要处理PDE和对角化矩阵.
我已阅读了两个相关网站http://enja.org/2011/02/22/adventures-in-pyopencl-part-1-getting-started-with-python/和http://documen.tician.de/ pyopencl /但它们对新手(即假人)并没有真正的帮助.
我只是不知道该怎么做.我不想成为该领域的专家,只是为了了解如何在pyopencl上并行化简单的数学和线性代数.
任何建议和帮助都非常欢迎!
您似乎正在寻找学习PyOpenCL的最快最有效的途径.您不需要在开始时了解OpenCL(困难部分),但在开始时了解Python会很有帮助.
为了快速学习Python语法,我推荐使用Codecademy的Python轨道:http: //www.codecademy.com/tracks/python
然后,Udacity并行编程课程是一个从GPGPU开始的好地方(即使课程是在CUDA中教授的). https://www.udacity.com/course/cs344 本课程将非常快速地教您基本的GPGPU概念.您不需要NVIDIA GPU参与,因为所有课程评估都是在线完成的.
在Udacity课程之后(或期间),我建议您阅读,运行和自定义PyOpenCL代码示例:https: //github.com/inducer/pyopencl/tree/master/examples
小智 5
无论GPGPU计算的采用语言如Java,C/C++,Python,我建议您首先开始使用GPGPU计算和OpenCL的基础知识.
您可以使用以下资源,所有这些都是面向C/C++的,但是这应该让您充分了解OpenCL,GPGPU硬件以帮助您入门.
PyOpenCL具体
这两本书都包含OpenCL 1.1实现,但它应该是你的好起点.