NVIDIA GPU上的Linpack性能测试初探.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1. Linpack 测试简介NVIDIAGPU 上的 1. Linpack 测试简介 NVIDIAGPU 上的 Linpack 性能测试初探 Linpack Linpack 性能测试是高性能计算机的标准测试之一,其测试性能是全球 Top500超级计算 机排行榜的排名依据[1]。 Top500每年公布两次排行榜,在2010年6月的榜单中,由曙光公 机排行榜的排名依据[1]。 Top500每年公布两次排行榜,在2010年6月的榜单中,由曙光公 司研制的星云超级计算机取得了第 司研制的星云超级计算机取得了第2名的好成绩,其采取了通用 CPU (Intel Xeon 5650) 和 异构加速部件(NVIDIA Tesla C2050)的混合架构。在本次榜单中,以GPU 作为加速部件的超 异构加速部件(NVIDIA Tesla C2050)的混合架构。在本次榜单中,以GPU 作为加速部件的超 级计算机还有国防科大研制的天河1号(第7名)和中科院过程所研制的 IPE Mole-8.5(第19名) 级计算机还有国防科大研制的天河1号(第7名)和中科院过程所研制的 IPE Mole-8.5(第19名) 等。 等。 简单来说,Linpack 测试是用高斯消元法求解稠密线性方程组(64位的双精度浮点数)。 简单来说,Linpack 测试是用高斯消元法求解稠密线性方程组(64位的双精度浮点数)。 在 在 CPU 上,有标准的参考实现HPL 软件包[2],其实现了二维块卷帘的数据分布,部分选主 元的 元的 LU 分解,递归的Panel 分解,look-ahead 技术,多种广播算法等多种算法和优化。在 进行 Linpack 测试时,可选取不同的HPL 参数组合(比如:矩阵规模N,分块大小nb 等), 进行 Linpack 测试时,可选取不同的HPL 参数组合(比如:矩阵规模N,分块大小nb 等), 不同的BLAS 与MPI 库,不同的编译参数等进行调优,以得到较好的Linpack 性能。 不同的BLAS 与MPI 库,不同的编译参数等进行调优,以得到较好的Linpack 性能。 2. HPL 2. HPL 软件包在 NVIDIA GPU 上移植和优化 由于 由于HPL 软件包实现了较多的功能和优化,所以在NVIDIA GPU 上的Linpack 测试也以 此为基础,进行移植和优化。本文介绍的 此为基础,进行移植和优化。本文介绍的HPL 软件包的移植与实现方式,主要参考了Fatica[3] 的利用 的利用NVIDIA GPU 加速Linpack 的工作。 文献 文献[4]中对于HPL 软件包在Linpack 测试时各个函数的运行时间进行了统计和分析, 发现 发现 dgemm 函数的执行时间占到了大部分(约90%左右),其次是 dtrsm 函数。所以,我们的 基本思想是关注利用 基本思想是关注利用GPU 加速 dgemm 与 dtrsm 函数。同时,此种方式也使代码的改动量较小。 具体如下: 具体如下: CPU CPU 与 GPU 混合的 dgemm 实现 CPU 与GPU 混合的dgemm CPU 与GPU 混合的dgemm 实现,就是将矩阵乘法中的一部分放到GPU 上进行,调用 NVIDIA CUBLAS CUBLAS 中的dgemm 函数;同时,另一部分调用CPU 上BLAS 库中的dgemm 函数,比如Intel MKL, AMD AMD ACML,GotoBLAS 等。使得CPU 与 CPU 可以同时进行计算。 矩阵的划分如图1所示,分成了图1中左(竖切B)和右(横切A)两种情况。原因是在HPL 矩阵的划分如图1所示,分成了图1中左(竖切B)和右(横切A)两种情况。原因是在HPL 调用中,矩阵乘法的参数M,N,K 存在两种情况,一个是K 较小,M 与 N 较大,如图1左的情 调用中,矩阵乘法的参数M,N,K 存在两种情况,一个是K 较小,M 与 N 较大,如图1左的情 况,此时划分矩阵 况,此时划分矩阵 B 会得到较好的性能;另一种是K 与 N 相等并较小,而 M 相对较大,如图1 右,此时划分矩阵A 会得到较好的性能。 右,此时划分矩阵A 会得到较好的性能。 通过调节比例因子R,可以达到CPU 与 GPU 间负载的均衡。最佳的情况是,CPU 上的计 通过调节比例因子R,可以达到CPU 与 GPU 间负载的均衡。最佳的情况是,CPU 上的计 算时间=数据从CPU 到 GPU 的传输时间+GPU 计算时间+结果从GPU 传回CPU 的传输时间。最 算时间=数据从CPU 到 GPU 的传输时间+GPU 计算时间+结果从GPU 传回CPU 的传输时间。最 佳的比例因子R 可以通过多次的实验获得。 佳的比例因子R 可以通过多次的实验获得。

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档