24、流求解器TFS的嵌套并行化及OpenMP在多核芯片架构上的性能特性

流求解器TFS的嵌套并行化及OpenMP在多核芯片架构上的性能特性

流求解器TFS的嵌套并行版本

在流求解器TFS的并行化中,版本5通过合并之前的块间和块内并行版本,并使用嵌套OpenMP并行性,实现了更高效的并行执行,每个级别使用少量处理器。在这个新版本中,无法对公共块使用THREADPRIVATE指令,而是将受影响的变量作为额外参数传递到必要的例程中,然后将其定义为外部(块间)并行区域的PRIVATE变量,但由后续内部(块内)并行区域共享。

对于大多数应用代码,当外部块循环和内部网格维度循环都并行时,启用OpenMP嵌套并行性,并将线程数设置为用户请求的总线程数的平方根(因为两个级别分配的线程数相同)。对于只包含单级并行性的代码部分,线程数设置为用户请求的数量。

结果表明,嵌套版本优于之前的并行版本,在16个处理器上加速比为7.39,在25个处理器上为8.71。然而,在大量处理器上的开销与OpenMP运行时开销和不同块之间的负载不平衡有关。例如,性能不佳的块交互循环必须串行执行,以及一两个小代码部分由于利用并行性时OpenMP开销导致速度减慢而保留为串行。那些利用块间级并行性但不利用块内级并行性的代码部分,在串行运行时只占运行时间的一小部分,但在大量处理器上对加速比的影响更为显著(阿姆达尔定律)。

提高嵌套并行程序的可扩展性

通过对不同机器上块内、块间和嵌套并行版本的最佳加速比进行分析,可以明显看出嵌套方法在所有较大的SMP机器上都能提高加速比。在SFE25K机器上使用64个线程时,最大加速比接近20,而单级方法的加速比在所有情况下都小于10。在NECSX8向量机器上,向量化取代了循环级OpenMP并行化,块级并行化在使用8个线程时

基于可靠性评估序贯蒙特卡洛模拟法的配电网可靠性评估研究(Matlab代码实现)内容概要:本文围绕“基于可靠性评估序贯蒙特卡洛模拟法的配电网可靠性评估研究”,介绍了利用Matlab代码实现配电网可靠性的仿真分析方法。重点采用序贯蒙特卡洛模拟法对配电网进行长时间段的状态抽样与统计,通过模拟系统元件的故障与修复过程,评估配电网的关键可靠性指标,如系统停电频率、停电持续时间、负荷点可靠性等。该方法能够有效处理复杂网络结构与设备时序特性,提升评估精度,适用于含分布式电源、电动汽车等新型负荷接入的现代配电网。文中提供了完整的Matlab实现代码与案例分析,便于复现和扩展应用。; 适合人群:具备电力系统基础知识和Matlab编程能力的高校研究生、科研人员及电力行业技术人员,尤其适合从事配电网规划、运行与可靠性分析相关工作的人员; 使用场景及目标:①掌握序贯蒙特卡洛模拟法在电力系统可靠性评估中的基本原理与实现程;②学习如何通过Matlab构建配电网仿真模型并进行状态转移模拟;③应用于含新能源接入的复杂配电网可靠性定量评估与优化设计; 阅读建议:建议结合文中提供的Matlab代码逐段调试运行,理解状态抽样、故障判断、修复逻辑及指标统计的具体实现方式,同时可扩展至不同网络结构或加入更多不确定性因素进行深化研究。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值