设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 服务器 > 系统 > 正文

HPMM实现C和Fortran程序向GPGPU的迁移

发布时间:2017-01-02 09:26 所属栏目:52 来源:林惠菊
导读:2010年国际高性能计算咨询委员会举办的研讨上,CAPS的Francois Bodin介绍了应用HPMM实现C和Fortran程序向GPGPU的迁移的一套解决方案。

  【资讯】2010年国际高性能计算咨询委员会举办的研讨会于10月27日在北京国家会议中心举行。本次大会汇聚了高性能计算方面的专家,IT168记者带来精彩报道。

  

  ▲演讲嘉宾:CAPS公司Francois Bodin

  有很多应用程序其实可以使用GPU运算来获得性能提高,比如线性代数运算,生物信息处理、学术研究等等。但是我们都知道要将历史代码移植入GPU运算是一个重要挑战,比如成本高、需要将移植所可能带来的问题最小化,考虑的解决方案还要有利于下一步发展,这也意味着程序开发人员和性能优化人员间的协调合作要更加紧密。很多人都在寻找一种折中的方法,希望以最有低的成本换得最高回报。

  在本次大会上,CAPS的Francois Bodin介绍了应用HPMM实现C和Fortran程序向GPGPU的迁移的一套解决方案。


▲图:这是HPMM开发向导

  那么究竟什么是HPMM呢?简单来说HPMM是一个基于标签语法的多语言程序设计环境,利用它能够使软件和目标硬件设备保持独立,提供将已有应用程序部署到GPU的有效工具。HMPP 提供由C和Fortran面向CUDA或OpenCL的代码生成器,一个能够处理GPU编译器所有底层细节的编译器驱动和一个用于分配和管理GPU资源的运行时。

  那么HMPP与CUDA和OpenCL有什么区别呢?最大的区别就是HMPP以用于并行的循环为中心,CUDA和OpenCL并行程序设计模型是以线程为中心。据Francois Bodin介绍,HMPP里有两个很重要的函数,一个是Codelet,这是一个能被在GPU上执行的纯函数,另一个是Region,它是定义codelet的捷径。通过这两函数之间的调用实现向GPU的迁移。此外,HMPP针对代码混合优化提供了一系列标签,目标是达到高效的CPU和GPU混合运算。

     在大会上,Francois Bodin还介绍了一些应用程序的移植方法。




   

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读