3、高性能编程的创新技术:LuNA - ICLU编译器与Set@l语言探索

高性能编程的创新技术:LuNA - ICLU编译器与Set@l语言探索

1. LuNA - ICLU编译器的自动化生成与性能评估

在并行编程领域,为了提高碎片化程序的性能,LuNA - ICLU编译器应运而生。该编译器所涉及的算法包含以下几个关键步骤:
1. 每个进程与所有相邻进程交换所选数据帧(DFs)及其邻居的信息。
2. 每个进程与相邻进程交换所选DFs的值。
3. 每个进程更新存储的DFs及其邻居的信息。

不过,这个算法存在一些缺点。例如,局部通信的限制可能导致相邻进程之间在负载阈值内出现负载梯度,但远距离进程之间存在较大的负载不平衡。此外,相邻进程的数量可能会大幅增加,从而增加负载平衡的开销。尽管如此,该算法仍可用于解决碎片化程序执行时出现的负载不平衡问题。

为了评估LuNA - ICLU编译器生成程序的性能,研究人员采用了引力尘埃云模拟的测试问题。模拟算法基于粒子 - 单元法,测试运行的参数如下:
|参数|详情|
| ---- | ---- |
|网格大小|160×160×100|
|粒子数量|5亿|
|时间步数|800|

初始粒子分布为位于模拟域中心的均匀密度球体,模拟域在两个方向上被分解为16×16个片段,只有中心的几个片段包含粒子,这导致了负载不平衡。

研究人员开发了该算法的三种实现方式,分别使用MPI、LuNA和LuNA - ICLU。此外,还比较了LuNA - ICLU编译器生成的程序的两个版本:有负载平衡和无负载平衡。负载平衡器的参数设置为:每五步调用一次平衡模块,最小不平衡阈值设置为10%。

所有测试均在MVS -

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值