VASP 并行参数优化 张文帅 网络信息中心 超级计算中心
VASP运行时优化背景 ••• ••• ••• ••• 运行时间轴T * 总并行核心数 = KPAR x NPAR x NCORE K-Point: No. 1 CPU: No. 1 ••• CPU: No. NCORE BAND: No. 1 BAND: No. NPAR BAND: No. NPAR+1 K-Point: No. KAPR+1 CPU: No. 1 ••• CPU: No. NCORE BAND: No. 1 BAND: No. NPAR BAND: No. NPAR+1 ••• ••• ••• K-Point: No. KAPR CPU: No. 1 ••• CPU: No. NCORE BAND: No. 1 BAND: No. NPAR BAND: No. NPAR+1 ••• * 总并行核心数 = KPAR x NPAR x NCORE * 三层并行:多K-Point、多Band、 Band内部并行 * 各层的并行效率与负载均衡,均依赖具体计算体系,几乎无法有预先的确定性规则,需要运行时优化。 * 此类优化工作在超算平台还较少见,多见于IT后台 运行时间轴T
VASP运行时优化:效果 当前于独占节点部署一套实时监控优化系统 效果:优化耗时少,可节省20% VASP作业机时 超算平台机时分布
实时监控优化结果 测试仅使用空闲机时,且可以被用户作业抢断杀掉,依据耗时每个尝试最少仅迭代2个电子步。 以下详细结果中, NP0表示用户作业的申请核心数,NP表示建议使用核心数,KPAR、NPAR、NCORE为最重要的并行参数建议,SpeedUp代表速度倍数,Ecost代表消耗机时倍数,Tc、Tr代表计算时间。每个New字段代表一次试跑测试,BestP代表最后的最优结果,OK表示中间过程无异常。
实时监控优化结果 用户在登陆系统后可以查到自己可用的实时优化结果,尤其可选择在作业没有运行前,修改程序,切实减少计算时间或使用机时。 例如 当前监控优化仅部署于独占队列,因为独占作业的空闲机时较多,同时排队作业的节点核心数大多与独占节点不同,无法直接使用独占队列空闲机时进行测试。 用户可以使用 watch -n 50 /opt/bin/motd.sh 命令实时监控自己的最新提交作业有无优化结果可用。 未来将为用户提供自己在作业内进行优化测试的脚本与方法,但是,如在作业运行时测试优化,仍会由于作业核心数已固定而导致即便降低了核心数需求,但是依然会有部分核心空载并浪费。
VASP并行效率测试(VASP应用运行时优化) 前期探索结果 为获得确定性的优化设置办法,过去也尝试了一些探索,相关结果请参见中心资料: VASP并行效率测试(VASP应用运行时优化) 其中也有不同硬件下的并行效率测试,以及部分编译建议。