发明名称 一种基于OPENCL的异构共同计算均衡方法
摘要 本发明公开了一种基于OPENCL的异构共同计算均衡方法,该方法应用于CPU+GPU混合异构共同计算系统中,所述CPU+GPU混合异构共同计算系统划分成三个并行层次:节点间并行、节点内CPU与GPU异构并行、设备内并行;负载均衡性需要在上述3个层次上分别设计;在该方法中,对计算任务进行划分时按照输入数据划分,划分时使任务块的计算时间与其它GPU的一次数据传输的时间相等。采用本发明公开的技术方案,较好地实现了CPU+GPU混合异构计算机系统的负载均衡。
申请公布号 CN104714850A 申请公布日期 2015.06.17
申请号 CN201510093877.4 申请日期 2015.03.02
申请人 心医国际数字医疗系统(大连)有限公司 发明人 邰从越
分类号 G06F9/50(2006.01)I;G06F9/38(2006.01)I 主分类号 G06F9/50(2006.01)I
代理机构 北京科亿知识产权代理事务所(普通合伙) 11350 代理人 汤东凤;张波涛
主权项 一种基于OPENCL的异构共同计算均衡方法,该方法应用于CPU+GPU混合异构共同计算系统中,所述CPU+GPU混合异构共同计算系统划分成三个并行层次:节点间并行、节点内CPU与GPU异构并行、设备内并行,所述设备是指CPU或GPU;CPU+GPU异构共同计算模式为:节点间分布式,节点内异构式,设备内共享式;所述节点间分布式是指节点间采用了分布式的计算方式,所述节点内异构式是指每个节点内部包含一个多核CPU、一个或多个GPU,节点内部采用主从式编程模型,即每个GPU需要由CPU进程或线程调用;所述设备内并行是指每个节点内的所有多核CPU采用了共享存储模型,这些CPU核并行计算,GPU设备内有自己独立的DRAM存储,GPU设备也是共享存储模型,在GPU上采用OpenCL编程控制GPU众核的并行计算;在该系统中,由一个CPU进程/线程负责复杂逻辑和事务处理,其它CPU进程/线程负责小部分并行计算,GPU负责大部分并行计算;在该方法中,节点内和节点间均采用MPI进程,设计负载均衡时,只需做到进程间或设备之间的负载均衡和CPU设备内OpenMP线程负载均衡、GPU设备内CUDA线程负载均衡即可;对于设备内,GPU设备上只要保证同一warp内的线程负载均衡即可;在该方法中,采用动态负载均衡方式,即在任务执行过程中,根据各GPU的运行情况重新调整负载分配,动态分配任务;对计算任务进行划分时按照输入数据划分,对于矩阵A×B=C问题而言,按输入数据划分可以分解为<img file="FDA0000676724510000011.GIF" wi="888" he="304" />矩阵A与矩阵B分别按行与列划分为若干数据块,每个数据块的计算为一个任务,每次传输矩阵A与矩阵B的一个数据块至GPU,计算完成之后将数据传回,然后分配下一个任务。
地址 116023 辽宁省大连市大连高新技术产业园区软件园东路5号3号楼403-404A