matlab利用并行计算和GPU加速SPGD迭代过程

在SPGD调参过程中,一般需要在某一参数下多次运行才能代表该参数实际价值。
十次SPGD拟合
SPGD计算量大主要在两个方面,一个是计算远场PIB的时候需要扩展近场光束矩阵,一般扩大十倍填0,才能得到分辨率较高的远场图片进行计算PIB。一个是在不同初始相位下多次重复SPGD算法,才有意义证明该参数的意义。
由于多次重复SPGD算法的for循环上一次运算与本次无关,完全可以用并行计算的方法,在matlab中可以用parfor替代for循环,替代后十次spgd算法用时由490s降到179s,下降310s。
由于扩展后的矩阵较大,CPU计算远场图像极为耗时,GPU可以加速矩阵计算,matlab中调用GPU将生成的矩阵函数为gpuArray;
如m1 = ones(400,C)可以改成m1 = gpuArray(ones(400,C));后续该函数参与计算即是用GPU计算。
改成GPU计算后时间下降到87s,下降92s。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值