pycuda
Yellow Yi
这个作者很懒,什么都没留下…
展开
-
复数类型矩阵相乘GPU加速--pycuda
开发环境Ubuntu16.04 ,python3复数类型矩阵相乘GPU加速–pycuda我在用卷积定理做卷积时遇到的一个问题就两矩阵做完FFT之后都是为复数怎么用pycuda做矩阵相乘,在给GPU传递参数的时候总是有问题。原创 2017-09-10 19:50:46 · 3211 阅读 · 0 评论 -
在GPU下做fft和Ifft----pycuda
1.调用keikna库keikna库中有fft,所以为了减小任务量我就调用keikan的fft的库来完成。http://blog.sina.com.cn/s/blog_4513dde60102vstu.html这个帖子里详细的介绍了keikna的一些东西。2.介绍FFT和IFFT的实现对于二维的傅里叶变换的实现,冈萨雷斯《数字图像处理》有详细的介绍。通过对这两个原创 2017-09-10 12:55:32 · 5216 阅读 · 0 评论 -
FFT快速卷积GPU加速----pycuda
二维卷积定理的实现1.读取一幅图f(x,y)大小A*B ,一个卷积核h(x,y)大小为C*D。 2.对f,h,进行填充,填充成Q*P,P>=A+C-1,Q>=B+D-1。 3.分别对f,h做傅里叶变换(FFT2) 4.G=F*H(注意是乘法不是点乘) 5.对G做IFFT2 6.对5中的结果进行剪切得到原大小的图片。CPU下numpy实现直接看代码,其中填充是手动填充的。#-*- codin原创 2017-09-15 10:40:41 · 2908 阅读 · 0 评论 -
复数变量传递(超简单)----pycuda
有时我们需要在pycuda里传递复数进行处理,C 语言中加一个头文件就好了,超简单哦! 比起我之前用的那个简单多了,还可以调用cuComplex.h里的函数,如取实部,虚部等等。 看看代码小例子吧!import pycuda.driver as cudaimport pycuda.autoinitfrom pycuda.compiler import SourceModuleimport原创 2017-09-29 11:48:39 · 1129 阅读 · 0 评论 -
GPU共享内存小结---pycuda
先来点题外话,由于导师的要求使用GPU加速但是又没有系统的学习就开始了使用pycuda进行GPU的编程,变用边学。在优化程序的时候shared memory是必用的,所以理解共享内存是个什么东西才可以做到自己对数据是如何跑的有数。 先看看这张GPU的存储结构图(偷的图,哈哈^_^): 在图中我们关心的重点是,每一个block都对应的一个shared memory,线程块之可以相互交流通...原创 2017-10-26 21:48:48 · 10805 阅读 · 4 评论 -
2D卷积GPU加速---pycuda
第一次写帖子,也想长期在这里写帖子,一起交流学习。直接给代码import numpyimport pycuda.autoinitimport pycuda.driver as cudafrom pycuda.compiler import SourceModuleTILE_W = 16TILE_H = 16KERNEL_RADIUS = 1KERNEL_W = 2 * K...原创 2017-09-05 10:11:02 · 1794 阅读 · 1 评论