专利名称 ---【 一种程序生成方法、装置及计算机系统 】

基本信息
申请号
CN201610784850.4
申请日
20160831
公开(公告)号
CN107817969B
公开(公告)日
20180320
申请(专利权)人
华为技术有限公司;中国科学院计算技术研究所
申请人地址
518129 广东省深圳市龙岗区坂田华为总部办公楼
发明人
贾海鹏; 专利类型 发明专利
摘要
本发明公开了一种程序生成方法、装置及计算机系统,涉及计算机技术领域,能够提升GPU程序的性能,扩大GPU的应用范围。该方法包括:根据CPU程序的计算访存特征和GPU的硬件特性,确定性能参数;确定全局同步机制,全局同步机制用于实现待生成GPU程序的线程在GPU Kernel函数中的全局同步;根据CPU程序、预设的程序自动生成框架、性能参数以及全局同步机制,生成GPU程序。
主权项
1.一种程序生成方法,其特征在于,包括:根据中央处理器CPU程序的计算访存特征和图像处理器GPU的硬件特性,确定性能参数,所述性能参数包括待生成GPU程序的线程的数量,以及所述待生成GPU程序的每个线程组与待处理数据之间的映射关系,所述待生成GPU程序的每个线程组与待处理数据之间的映射关系包括离散型映射关系和连续型映射关系,所述硬件特性能够表征所述GPU所能承载的线程的数量;确定全局同步机制,所述全局同步机制用于实现所述待生成GPU程序的线程在GPU Kernel函数中的全局同步;根据所述CPU程序、预设的程序自动生成框架、所述性能参数以及所述全局同步机制,生成GPU程序;其中,所述根据所述CPU程序的计算访存特征和GPU的硬件特性,确定性能参数中的待生成GPU程序的线程的数量的方法,包括:根据所述GPU的硬件特性,确定所述GPU中计算单元CU的数量K、所述GPU中的每个CU包括的线程组的数量L以及第一数量M,所述第一数量M为所述待生成GPU程序的每个线程组所包括的线程的数量,K≥1,L≥1,M≥1;根据所述第一数量M以及所述CPU程序的计算访存特征,确定所述CPU程序在所述每个CU中待开启线程的数量的最大值J,J≥1;根据所述CU的数量K、所述可开启线程组的数量L、所述第一数量M和最大值J,确定第一取值范围,所述第一取值范围为所述待生成GPU程序的线程的数量的取值范围,所述第一取值范围为[K*M,min(K*M*L,K*J)],其中,min(K*M*L,K*J)表示选取K*M*L和K*J中的最小值;确定所述第一取值范围中的第一数值为所述待生成GPU程序的线程的数量。

 

IPC信息
IPC主分类号
G06F8/20

 

法律状态信息
法律状态公告日
20180320
法律状态
公开 法律状态信息
CN201610784850 20180320 公开 公开
法律状态公告日
20180413
法律状态
实质审查的生效 法律状态信息
CN201610784850 20180413 实质审查的生效 实质审查的生效IPC(主分类):G06F 8/20
法律状态公告日
20201016
法律状态
授权 法律状态信息
CN201610784850 20201016 授权 授权

 

代理信息
代理机构名称
北京中博世达专利商标代理有限公司 11274
代理人姓名
申健


| 联系我们 | 网站地图 | 版权声明 |

版权:中国科学院 主办:中国科学院科技促进发展局 承办:中国科学院成都文献情报中心 蜀ICP备05003827号-12

建议使用1024×768 分辨率 IE6.0以上版本浏览器