OpenPower来了,我的代码怎么办?

 

众所周知,OpenPOWER的目标是创建一个围绕IBMPower处理器架构的软硬件生态系统,从而提供一个替代英特尔系统方案。与英特尔至强服务器系列芯片不同,...

OpenPOWER:X86的另一种选择
2013年8月6日,谷歌、IBM、Tyan、NVIDIA和Mellanox一起创立了后来被称之为OpenPOWER基金会的组织,这个组织的目的是就把IBM Power服务器芯片架构开放出来,以类似ARM开放移动芯片知识产权的方式,重新组建一个服务器芯片产业。

众所周知,OpenPOWER的目标是创建一个围绕IBM Power处理器架构的软硬件生态系统,从而提供一个替代英特尔系统方案。与英特尔至强服务器系列芯片不同,IBM Power是基于高端RISC芯片架构,天然支持数据分析等高性能计算,具有系统更紧凑、效率更高、能耗更低、计算能力更强等特点。目前IBM Power芯片系列已经到Power 8版本,将于2017年推出Power 9版本,OpenPOWER则是与之相对应的开源版本。

OpenPOWER芯片的独特之处在于提供了CAPI、FPGA和NVLink连接三大特性。CAPI即为一致性加速处理器接口总线协议,与传统X86架构下的PCI总线不同,CAPI让外部硬件设备可以直接访问内存而无需通过CPU中转,这样就能提升操作系统、中间件和应用软件的运行速度与性能。更为重要的是,它让CPU与FPGA芯片更优化地协同工作。

       然而问题来了,我们的代码都是基于英特尔X86架构写的,
           一旦OpenPower服务器开始普及,
           我们的代码是否都要推倒重来呢?
OpenACC 增加对OpenPOWER的支持


在ISC(国际超算会议)上展现实力之前,OpenACC标准集团就已经宣布了其首个OpenPOWER工具。

OpenACC的技术主管Michael Wolfe说,PGI OpenACC 编译器对于 OpenPOWER 的支持取得了稳定的进步,目前正处于非公开的beta测试阶段,正计划在八月开始公开beta测试。Wolfe也是PGI(NVIDIA)的一位编译器工程师。“它包含了相同的命令行,你可以得到一个应用,你可以复制所有的源,把所有文件生成一遍,只需要输入‘make’,它就会在新系统上进行构建了。”Wolfe说道。

什么是OpenACC

OpenACC是一种用于并行计算的,由Cray, Nvidia 和 PGI开发的基于指令的编程标准。该标准的设计目的是简化 异构CPU/GPU 系统的并行计算。和在OpenMP中一样,程序员可以注释C、C++ 和Fortran源代码 来标注应当被 编译器指令 和附加函数所加速的区域。就像OpenMP 4.0 和更高版本一样,代码均可被CPU和GPU启动。



即将到来的、具有 OpenPOWER 功能的PGI OpenACC 编译器版本将具有以下特点:

  1. 与Linux/x86+Tesla平台上的PGI 编译器具有相同的特点
  2. CUDA Fortran、OpenACC、OpenMP、CUDA C/C++ 主机编译器
  3. 整合了IBM优化版的 LLVM OpenPOWER代码产生器
  4. 一次写入,即可在任意地点编译和运行



“我们实现的方式就是使用PGI的前端和PGI优化器,并把它连接到LLVM 后端代码生成器。我们得到了IBM的支持,他们在LLVM 上、在代码生成器和库文件上做了很多工作。我们的很多工作就变得轻松了。”Wolfe说道。

目前这一代的IBM POWER芯片是POWER8+,蓝色巨人表示在2017年POWER9 也将准备就绪。Wolfe 预计OpenACC编译器应当不会有大的兼容问题。

(本文关于OpenPower部分参考了宁川微信《打破摩尔定律:谷歌与腾讯的下一代计算平台选择是?》)




    关注 吉浦迅科技


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册