pyCUDA,pycuda安装
今天找了一篇文章研究pycuda,发现流程其实和Cuda C差不多,代码里用的是Cuda C。感觉就像我用python的shell,整理数据,然后传给写好的Cuda C,编译器编译。
一开始,我遇到了一个问题。当我解释下面的代码时,出现了这个提示。
nvcc致命错误:尽管Visual Studio 12.0已添加到路径中,但在路径中找不到编译器“cl.exe”
mod=source module( _ _ global _ _ void double fy(float * a){ int idx=threadidx . x threadidx . y * 4;a[idx]*=2;}“”)在谷歌搜索解决方案后,解决方案是将cl.exe文件添加到环境变量中。在我的VS版本中,这个程序的路径是C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Community \ VC \ Tools \ MSVC \ 14 . 16 . 27023 \ Happy Marshmallow \ hostx 64 \ x64。一开始总是无法添加到系统环境变量中,但是在powershell上还是找不到。\ \ \ \ \ \ \ \ \ \ \虽然我还是不知道为什么之前几次都没有添加成功,但是现在初始问题已经解决了。
教程文章地址
源代码如下
#!/usr/happy marshmallow/env python #编码:UTF-8 # In[1]:import pycuda . driver as cuda import pycuda . auto init from pycuda.com piler import source module # In[2]:import numpy=numpy . randn(4,4)# In[3]:a=a . astype(numpy . float 32)# In[4]:a _ GPU=cuda . mem _ alloc(a . nbytes)cuda . memcpy _ htod(a _ GPUa _ GPU[idx]*=2;} )# In[6]:func=mod . get _ function( doublify )func(a _ GPU,block=(4,4,1))# In[7]:a _ doubled=numpy . empty _ like(a)cuda . memcpy _ dtoh(a _ doubled,a_gpu)print (a_doubled)print (a)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。