复数变量传递(超简单)----pycuda
来源:互联网 发布:河北经济网络频道 编辑:程序博客网 时间:2024/06/12 21:12
有时我们需要在pycuda里传递复数进行处理,C 语言中加一个头文件就好了,超简单哦!
比起我之前用的那个简单多了,还可以调用cuComplex.h里的函数,如取实部,虚部等等。
看看代码小例子吧!
import pycuda.driver as cudaimport pycuda.autoinitfrom pycuda.compiler import SourceModuleimport numpy as npmod = SourceModule("""#include<cuComplex.h> __global__ void AHE(cuFloatComplex *a, cuFloatComplex *b,int row){ int i = threadIdx.y + blockDim.y * blockIdx.y; int j = threadIdx.x + blockDim.x * blockIdx.x; const int idx = i + j*row; b[idx] = a[idx] ; }""")AHE = mod.get_function("AHE") img =np.random.randn(4, 4).astype(np.complex128)print (img)row = np.int32(img.shape[-1])out = img.copy()out[:] = 0out = np.complex128(out)col = np.complex128(col)AHE(cuda.In(img),cuda.InOut(out), row, row, block=(32,32,1),grid=(1,1))print (out)
看看实验结果:
完全正确。
阅读全文
0 0
- 复数变量传递(超简单)----pycuda
- 超简单的Erlang复数实现
- 复数类型矩阵相乘GPU加速--pycuda
- PyCUDA
- PyCUDA
- PyCUDA教程(一):欢迎使用PyCUDA文档
- PyCUDA教程(二):教程
- QT多线程简单实现及变量传递
- Swift 复数变量定义
- Jquery和JS用外部变量获取Ajax返回的参数值!(超简单)
- Pycuda 学习笔记(二)gpuarray学习
- java参数传递(超经典)
- java参数传递(超经典)
- java参数传递(超经典)
- java参数传递(超经典)
- java参数传递(超经典)
- java参数传递(超经典)
- java参数传递(超经典)
- 数据库练习(二)三个数据库根据指定id获取name和存储数据库名称
- 重写strrchr函数
- 每日一练 字体相关总结
- 阿里ARouter源码分析
- (二) Basic Classification Example with TensorFlow
- 复数变量传递(超简单)----pycuda
- 怎么向表结构是自增长的表中插入一条数据 SQLCODE=-798, SQLSTATE=428C9, SQLERRMC=ID
- Nginx 集群和IP反向代理
- 设置外键约束的SQL语句: @著一
- 03.类的连接之验证、准备、解析
- js 实现md5加密
- 如何在QML中调用在C++中定义的Video MediaPlayer
- unapplyDemo
- 数据结构实验之链表八:Farey序列