PyopenCL是
OpenCL:(The open standard for parallel programming of heterogeneous systems。OpenCL™ is the first open, royalty-free standard for cross-platform, parallel programming of modern processors found in personal computers, servers and handheld/embedded devices. OpenCL (
Open Computing Language) greatly improves speed and responsiveness for a wide spectrum of applications in numerous market categories from gaming and entertainment to scientific and medical software)的python封装。Open Computing Language——口气是不是大了一点儿?以后不是并行计算就不是什么计算语言了!OpenCL是最新近开发的包,你要是在其他的distro上例如Fedora、Ubuntu要等下一个新的发行版,他们的开发人员帮你集成到软件源里你才能安装使用,archlinux的好处是你不必等待半年或者一年,你只要使用它的软件包管理器pacman(像是Fedora的yum,Ubuntu的apt-get install)就能根据自己的需要和软硬件环境定制和安装它了。archlinux在Linux
Distrowatch的排行榜上上升到了第七位,几个月以前还在第十位上,这说明越来越多的人在关注这个发行版。实际上,根据我的观点,archlinux是最符合自由-开源软件精神的,它不是Windows的模式,做一个操作系统发行版让所有的人使用,里面集成的软件一个人一生也用不了它的20%,商业模式最忌讳的就是:想把所有的东西卖给所有的人。archlinux的
原则是Keep It Simple and Stupid,让你自己定制。
编译和安装PyopenCL包:
- 安装PyopenCL需要安装dependency:nvidia-opencl,而后者又需要dependency:nvidia-utils用archlinux的包管理器pacman安装: pacmen -S nvidia-utils: By using this package you accept the NVIDIA license,
which has been installed in /usr/share/licenses/nvidia/LICENSE.If you do not accept this license, you must remove the package immediately. Dont forget to update your /etc/X11/xorg.conf. Optional dependencies for nvidia-utils
gtk2: nvidia-settings
pkgconfig: nvidia-xconfig
- 改变工作目录的所有权:chown -R steve /var/abs/local以便makepkg可以让一个普通用户steve执行;
- cp http://aur.archlinux.org/packages/pyopencl/pyopencl/PKGBUILD to /var/abs/local/pyopencl
- cp http://aur.archlinux.org/packages/nvidia-opencl/nvidia-opencl/PKGBUILD to /var/abs/local/nvidia-opencl
- 还要安装pyopencl的另一个dependency:python-distribute是代替python的setuptools的工具,setuptools用来安装、升级软件包的,这也是个最新的项目,目前Linux发行版大多还没法安装
- 然后pacman -U pyopencl.pkg.tar.gz就把PyopenCL安装好了。
现在我们可以使用两个并行计算平台试试了,一个是Ipython Parallel Computing;一个是PyopenCL。下一步我们要比较它们各自的优势了。