国内刊号:31-1289/TP
国际刊号:1000-3428
发布日期:
作者:李博, 黄东强, 贾金芳, 吴利, 王晓英, 黄建强
单位:1. 青海大学 计算机技术与应用系, 西宁 810016;2. 清华大学 计算机科学与技术系, 北京 100084
关键词:模板计算,消息传递接口,跨平台多线程,单指令多数据,非一致内存访问,统一计算设备架构
基金:青海省科技厅应用基础研究项目(2022-ZJ-701);国家自然科学基金(62062059,62162053);青海省“昆仑英才·高端创新创业人才”项目;教育部“春晖计划”合作科研项目(QDCH2018001);青海大学2021年研究生课程建设项目(qdyk-210413);青海大学2021年度青年科研基金项目(2021-QGY-13);青海省骨干教师项目;清华大学-宁夏银川水联网数字治水联合研究院横向课题(SKL-IOW-2020TC2004-01)。
模板计算是一类使用固定模板的算法,被广泛应用于图像处理、计算流体动力学模拟等领域,现有的模板计算存在计算并行度弱、缓存命中率低、无法充分利用计算资源等问题。在消息传递接口(MPI)计算模型和跨平台多线程(OpenMP)计算模型的基础上提出MPI+OpenMP、统一计算设备架构(CUDA)+OpenMP两种混合计算模型。相较于常规的MPI计算模型,MPI+OpenMP计算模型通过使用MPI进行多节点之间的粗粒度通信,使用OpenMP实现进程内部的细粒度并行计算,并结合单指令多数据、非一致内存访问、数据预取、数据分块等技术,提高模板计算过程中的缓存命中率与计算并行能力,加快计算速度。在只采用CUDA进行模板计算时,CPU的计算资源没有得到充分利用,浪费了大量计算资源,CUDA+OpenMP计算模型通过对计算任务的负载划分让CPU也参与到计算中,以减少通信开销及充分利用CPU的多核并行计算能力。实验结果表明,OpenMP+MPI计算模型相较于MPI计算模型的平均加速比为3.67,CUDA+OpenMP计算模型相较于CUDA计算模型的平均加速比为1.26,OpenMP+MPI和CUDA+OpenMP两种计算模型的性能均得到了显著提升。
来源:2023年第4期
《计算机工程》期刊编辑部