[发明专利]虚拟化环境下基于OpenMP的多GPU协同计算方法在审
申请号: | 201310695055.4 | 申请日: | 2013-12-17 |
公开(公告)号: | CN103713938A | 公开(公告)日: | 2014-04-09 |
发明(设计)人: | 秦谦;袁家斌 | 申请(专利权)人: | 江苏名通信息科技有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/38 |
代理公司: | 南京纵横知识产权代理有限公司 32224 | 代理人: | 董建林 |
地址: | 212000 江苏省镇江市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 虚拟 环境 基于 openmp gpu 协同 计算方法 | ||
1.虚拟化环境下基于OpenMP的多GPU协同计算方法,其特征在于:包括以下步骤,
步骤S01, 在服务端部署GPU虚拟化服务端组件,将在客户端拦截的参数在本地执行,即在物理机上执行,物理机通过OpenMP在主机端开设和GPU个数相同的主机端线程,每个主机端线程负责控制一个GPU, 通过编程接口函数将主机端线程的ID号同GPU的设备号对应,将GPU计算的对象定义为N*N矩阵计算;
步骤S02,在每个设备上为每个线程分配显存,并分别启动内核函数;
步骤S03,数据分解, 每个线程设置自己私有主机端和设备的数据指针,私有主机端线程指向原始指针不同的起始位置, 并通过CUDA复制函数从自己私有主机端线程的位置拷贝N/n个数据达到规模划分的目的,其中N为矩阵的行数,n为GPU的个数;
步骤S04,数据计算,根据矩阵相乘法则对n个GPU的矩阵进行计算,OpenMP控制所述GPU计算结果的输出时间,同步输出数据;
步骤S05,数据合并, 所述步骤S04中同步数据的数据通过GPU私有的设备端数据指针拷贝回私有主机端,在私有主机端进行数据合并,服务端完成计算后通过socket通信,将计算结果传递给客户端。
2.根据权利要求1所述的虚拟化环境下基于OpenMP的多GPU协同计算方法,其特征在于:所述步骤S03中GPU个数为4个,分别为GPU0、GPU1、GPU2和GPU3,所述矩阵为A、B、C和D,A*B+C*D数据分解包括以下步骤:
1)GPU 0执行矩阵A的一半乘以B,GPU 1执行矩阵A的另一半乘以B,GPU 2执行矩阵C的一半乘以D,GPU 3执行矩阵C的另一半乘以D;
2)OpenMP同步模块等待GPU0、GPU1、GPU2和GPU3的相乘运算全部完成,将全部数据拷贝到GPU 0上,主机端校验结果的正确性。
3.根据权利要求2所述的虚拟化环境下基于OpenMP的多GPU协同计算方法,其特征在于:所述GPU1、GPU2和GPU3中的计算出的数据通过cudaMemcpy()函数拷贝到GPU 0。
4.根据权利要求1或者2所述的虚拟化环境下基于OpenMP的多GPU协同计算方法,其特征在于:所述数据计算采用矩阵乘法计算,包括以下步骤:将A矩阵分为4个A/4(N/4*N),并分别与矩阵B相乘,分别得到4个AB/4矩阵,4个AB/4矩阵组合可以得到结果矩阵AB,以此方法分别计算GPU0、GPU1、GPU2和GPU3中矩阵相乘。
5.根据权利要求1所述的虚拟化环境下基于OpenMP的多GPU协同计算方法,其特征在于,所述编程接口函数为cudaSetDevice(cpu_thread_id)函数。
6.根据权利要求1所述的虚拟化环境下基于OpenMP的多GPU协同计算方法,其特征在于,所述步骤S04同步通过ccudaDeviceSynchronize()函数完成。
7.根据权利要求1所述的虚拟化环境下基于OpenMP的多GPU协同计算方法,其特征在于,所述步骤CUDA复制函数为cudaMemcpy()函数。
8.根据权利要求1所述的虚拟化环境下基于OpenMP的多GPU协同计算方法,其特征在于,所述客户端为虚拟机。
9.根据权利要求1所述的虚拟化环境下基于OpenMP的多GPU协同计算方法,其特征在于,所述显存大小依据需要计算的数据大小分配。
10.根据权利要求1所述的虚拟化环境下基于OpenMP的多GPU协同计算方法,其特征在于,所述内核函数为用于计算矩阵相乘的内核函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏名通信息科技有限公司,未经江苏名通信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310695055.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电热水器的防触电保护结构
- 下一篇:一种烤房燃烧室的烟热分离装置