发明名称 |
一种基于OPENCL的异构共同计算均衡方法 |
摘要 |
本发明公开了一种基于OPENCL的异构共同计算均衡方法,该方法应用于CPU+GPU混合异构共同计算系统中,所述CPU+GPU混合异构共同计算系统划分成三个并行层次:节点间并行、节点内CPU与GPU异构并行、设备内并行;负载均衡性需要在上述3个层次上分别设计;在该方法中,对计算任务进行划分时按照输入数据划分,划分时使任务块的计算时间与其它GPU的一次数据传输的时间相等。采用本发明公开的技术方案,较好地实现了CPU+GPU混合异构计算机系统的负载均衡。 |
申请公布号 |
CN104714850B |
申请公布日期 |
2016.03.30 |
申请号 |
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进程/线程负责复杂逻辑和事务处理;在该方法中,节点内和节点间均采用MPI进程;在该方法中,采用动态负载均衡方式,即在任务执行过程中,根据各GPU的运行情况重新调整负载分配,动态分配任务;对计算任务进行划分时按照输入数据划分,对于矩阵A×B=C问题而言,按输入数据划分可以分解为<img file="FDA0000857552460000011.GIF" wi="991" he="375" />矩阵A与矩阵B分别按行与列划分为若干数据块,每个数据块的计算为一个任务,每次传输矩阵A与矩阵B的一个数据块至GPU,计算完成之后将数据传回,然后分配下一个任务。 |
地址 |
116023 辽宁省大连市大连高新技术产业园区软件园东路5号3号楼403-404A |