MATLAB实现并行计算来缩短执行时间

**

MATLAB实现并行计算来缩短执行时间

**

本文采用 MATLAB 内附样例
”802.11be Packet Error Rate Simulation for an EHT MU Single-User Packet Format“ 为基础,将其改造为 并行计算,看看 并行计算是否有效率方面的优势。

结论:
1)多重循环:当存在多重循环时,不能多重循环同时采用并发。也就是说只能有一层为并行计算;
2) GPU 调用:不采用并行计算时, 若循环体中存在 GPU 调用(每次生成、释放GPU对象),则有可能反而降低效率:因为 GPU 对象的生成与释放很耗时间。采用并行计算时,采用 CPU 的效率也是高于 GPU ( 代码中仅有 agwn 一处涉及 GPU/CPU 的选择,其他代码默认都是 CPU) ;
3)并发轮次: 尽可能让每次并发的轮次等于 CPU 的核数;如果小于 CPU核数,则未充分发挥并发潜力;
4) 单轮次时间: 串行用时大约只有并行用时的 一半左右。 也就是说,并行计算同一组代码用时,大约是串行计算的两倍。 可见:并行计算代价也很高;也就是说,并发至少3 轮次以上才会有效率上的提升;
5)并行预热 : 并行预热一般需要 30 秒以上。 所以同样代码一次跑并行 , 比后面跑并行要多花 30 秒以上的时间; 一般需要跑个两三次才能达到性能巅峰;

1.串行运行每轮时间 5~7 秒 (CPU)
共 外循环 13 轮, 内循环 5 轮,

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值