CPU内存或GPU内存进行分组方式实战

在cpu+gpu协同计算中,cpu和gpu的计算能力不同,静态地给cpu和gpu划分任务会导致cpu和gpu计算不同步,导致严重的负载不均衡,为了实现cpu和gpu的负载均衡,需要对cpu和gpu不同的划分方法。把每个节点上的所有cpu看成一个设备,每块gpu卡看成一个设备,对集群节点上的所有cpu设备和gpu设备分别编号,每个节点上有m块gpu卡,n个节点上共有n个cpu设备,编号为1,2,…,n;n个节点上共有m*n个gpu设备,编号为1,2,…,m*n。
设备编号之后就可以对设备进行分组,根据算法的要求,有些任务不能细分,一个cpu设备或gpu设备上可用的内存空间可能不能满足计算的内存要求,需要多设备数据划分、共同计算,这时需要根据cpu内存或gpu内存进行分组
1)根据cpu内存大小和计算对内存的要求可以计算得到一组内的cpu设备数目为gc个, gc=(mcom+memc-1)/memc,其中一个节点的内存大小为memc,每个计算任务需要的内存大小为mcom。
所有的cpu设备分为n/gc个组,每个组计算同一个任务,组内的cpu设备再进行数据划分,数据划分采用静态的划分,因为组内的cpu设备计算能力一致;
2)根据gpu内存大小和计算对内存的要求可以计算得到一组内的gpu设备数目为gg个, gg=(mcom+memg-1)/mem,其中,一个gpu设备的内存大小为memg,每个计算任务需要的内存大小为mcom。
所有的gpu设备分为m*n/gg个组,每个组计算同一个任务,组内的gpu设备再进行数据划分,数据划分采用静态划分的方法。
cpu和gpu设备分组之后,就可以把任务动态分划分给每个cpu组或gpu组,可以采用mpi通信进行划分,由主进程进行动态的发送任务编号给各个cpu组或gpu组内的组长,组长再把任务编号广播给组内的组员,然后组内的设备同时计算,计算完毕之后即可向主进程请求下一个任务,直到所有任务计算完毕为止。

2021年智慧城市新技术应用预测
为什么结构化布线市场将迎来快速增长
祝贺第十八届中国国际社会公共安全博览会顺利落幕
是德科技推出首款用于示波器的CXPI 触发与解码选件
截止2019年12月份我国Win7用户超过57%
CPU内存或GPU内存进行分组方式实战
RS Components和Allied Electronics荣获卓越全球分销商大奖
iOS11正式版最新消息:iOS11.1Beta2全新emoji来了,全新体验好玩有趣值得拥有
基于功放电源控制器实现公共广播系统的音频功放电路设计
【紫光同创国产FPGA教程】【第二十二章】RTC时间实验
国芯思辰|芯炽模数转换器SC1254(兼容AD9253)助力视频处理器,转换速率可达110MSPS
黑马Xisem西圣Ares蓝牙耳机,力压漫步者、小米,论性价比还有谁
红米pro2什么时候上市?红米pro2最新消息:红米Pro2全面屏概念在千元机市场秀肌肉
HDZG-300kV/5mA直流高压发生器中微安表配套限流电阻使用
LED虚拟制作的无限可能性:优势与未来展望
人机交互下一波浪潮:触摸的突破
服务机器人如何才能走的更远
中科闻歌布局人工智能与大数据基础平台技术 获得超5亿元E轮融资
对GDB命令脚本做一个粗浅的介绍
半导体设备生产工艺流程科普!