并行数值碎片化子程序库与大规模并行随机模拟软件库介绍
在科学计算领域,并行计算和随机模拟是两个重要的研究方向。本文将为大家介绍两个相关的软件库:LuNA并行数值碎片化子程序库和PARMONC大规模并行随机模拟软件库。
LuNA并行数值碎片化子程序库
为了帮助运行时系统更高效地执行算法,程序员可以提供一些关于计算片段(FoCs)的邻域关系信息。例如:
step[i,it-1] < getb[i,it] | i=0..K-1, it=1..T-1;
step[i,it-1] < setb[i,it] | i=0..K-1, it=1..T-1;
getb[i-1,it] < setb[i,it] | i=1..K-1, it=1..T-1;
getb[i+1,it] < setb[i,it] | i=0..K-2, it=1..T-1;
setb[i,it] < step[i,it] | i=0..K-1, it=1..T-1;
neighbors step[i,it], step[i+1,it] | i=0..K-2, it=0..T-1;
有了这些信息,运行时系统会尝试将相邻的FoCs定位到相同或相邻的计算机节点上,从而更高效地分配资源和进行计算。
碎片化方法创建库数值子程序具有诸多优势。碎片化子程序仅包含不可更改的算法描述,这使得程序员无需关注底层实现细节,能够进行高级编程。
不过,算法碎片化方法仍在发展中。为了实现高效的算法碎片化,程序员应努力实现以下计算片段(FP)属性:
1.
超级会员免费看
订阅专栏 解锁全文
2522

被折叠的 条评论
为什么被折叠?



