- 博客(9)
- 收藏
- 关注
原创 CUDA之窄带常规波束形成
思路现在手上有了cuda的复数矩阵乘法和复数矩阵转置。理论上讲可以做一个简单的波束形成了。 按照matlab之并行计算 的思想把for循环都变成矩阵来做。复数矩阵定义typedef struct { int width; int height; int stride; double * real; double * imag;} Matrix;复数矩
2016-05-31 22:31:27 2301 1
原创 CUDA之矩阵乘法——复数
做好矩阵乘法和转置之后本来开心得不行的! 准备上手做个最基本的波束形成了! 突然发现希尔伯特变换完以后需要进行各种复数的运算…所以临时补写了一个复数乘法… 学着学着好像有点感觉了~!还是蛮有意思的。当然前提是能调试成功。 用一句傅小姐的名言鼓励一下“只要心甘情愿任何事情都会变得简单!”。
2016-05-30 16:55:25 4257 1
原创 CUDA之矩阵转置
在波束形成中除了矩阵乘法,还需要一个矩阵转置。 其实用C语言来实现矩阵转置很简单,但是速度可能比较慢。参考博文:CUDA矩阵转置const int TILE_SIZE = 4; __global__ void TransposeKernel(const
2016-05-30 09:26:59 2487
原创 MATLAB之并行算法学习
MATLAB的加速1.在占用时间较长的代码上进行算法的优化 2.打开MATLAB并行池使用parfor等运算 3.将循环转化为矩阵0526更新本来在做CUDA的矩阵乘法,在设计参数的时候突然想到matlab这边可以把一个循环转化成矩阵。也就是3的思想。波束形成的主要部分:data = hilbert(data);R1 = data'*data;for i = 1:length(theta)
2016-05-26 10:39:38 1261
原创 CUDA之矩阵乘法——TILE&sharedmemory
CUDA 矩阵乘法将输入数据分成很多个TILE使用shared memory进行并行计算
2016-05-25 10:12:02 3381
原创 CUDA之矩阵乘法——globalmemory
根据CUDA讲座调试矩阵乘法报错错误 17 error : no instance of overloaded function “cudaMalloc” matches the argument list E:\Niki\MVDR_BTR\MVDR_BTR\MatrixMulOnDevice.cu 16 修正:把CUDAcudaMalloc(&Nd, size);改成cudaMa
2016-05-12 08:17:45 1151
原创 坐标系的转换
今天的任务是需要把一个以距离r为横坐标,以角度theta为纵坐标的彩色图像,转换为一个以theta和r为元素的扇形图。由于没有找到可以直接画出极坐标彩图的函数,所以最终需要给直角坐标系下的像素点赋值。两种思路,一种是用x,y来表示theta和r,以读取原图中的彩色像素值。即, r = sqrt(x^2+y^2); theta = atan(y/x
2016-05-05 08:51:47 961
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人