AMD GPUOpen三大革新:开发者欢呼!
AMD新成立的Radeon技术事业部(RTG) 12月3日在加州Sonoma举行了一次图形技术峰会,快科技有幸全程参与。此前我们披露了峰会的第一部分内容,涉及图形技术方面的两大新技术HDR 2.0、FreeSync over HDMI。
今天是第二部分:GPUOpen。
这是AMD发起的一个全新倡议,从名字上就可以看出,GPUOpen是要以开放的态度,去推动GPU相关开发。
为此,AMD提出了三项技术革新:
1、开源的应用和游戏开发
AMD认为,目前GPU开发中最大的问题之一就是游戏主机、PC电脑几乎完全隔绝。主机开发者可以轻松直接访问底层硬件,效率和性能都可以做到极高,PC上则局限太多,只能借助DirectX、OpenGL这样的传统API来开发。
事实上,AMD此前提出的新型API Mantle就第一个提出了底层访问PC GPU硬件,随后的微软DX12、苹果Metal、Khronos Vulkan都不约而同地利用了这一理念,说明这条路是大家都认可的。
虽然Mantle的相关工作已经暂停,但它很好地完成了历史使命,其精神得到了继承和发扬光大,从这一点上看它是极为成功的。
AMD GPUOpen在游戏方面主要有三个层次:
- 直接访问:前所未有的GPU控制权,深入硬件底层
- 开源软件:大量的视觉效果、开发工具、驱动程序、库、SDK开发包等等
- 行业标准:遵循业界开放标准规范,邀请厂商、开发者参与
尤其是在开源资源方面,AMD将于明年一月初在GitHub上放出第一批,包括视觉特效、开发编译工具、库和SDK等等,开发者可随意使用。
那么,如此深度的开放,会不会有什么负面影响?AMD对此引用了关于蝙蝠侠的一句经典“能力越大,责任也就越大”。简单地说,开发者手里的资源更丰富了,可以做得更多了,但怎么去做还是取决于开发者。
AMD全球资深副总裁兼首席架构师Raja Koduri也对快科技特别指出,AMD会与业界、社区通力合作,为用户带来更好的应用和游戏体验。
2、异构并行计算
AMD倡议的HSA(异构系统架构)已得到行业众多重量级厂商和开发者的支持,其主要目标之一就是通过使用更高级语言,让开发者更容易开发地并行应用程序。
AMD日前还提出了“Boltzmann倡议”,套件内建针对C++开发的异构计算编译器(HCC),扩展了程序员可用HSA的领域,可在异构系统中轻松有效地应用独立GPU的硬件资源。
异构计算可移植界面(HIP)则允许开发者将CUDA代码转换为可移植的C++代码。
AMD的测试表明,在许多情况下,通过HIP可自动将多达90%的CUDA代码转换成C++,剩余的10%则可以使用流行的C++语言进行手动转换。
AMD已经构建了端到端的开源计算软件堆栈,为开发者提供全套服务,将在2016年1月开放Boltzmann的初期访问。
有趣的是,关于对CUDA代码的转换支持,很多人在想NVIDIA会怎么看?在专访中AMD告诉我们,NVIDIA已经知道了他们的这一工作,并且在SC15超算大会上展示的时候,NVIDIA人员还饶有兴趣地参观了一番,并索要了相关资料,但暂时未发表任何公开声明。
3、Linux开源
AMD一直承诺支持Linux平台开发,为此开发了以HPC为中心的全新开源驱动、系统运行时(Runtime) “AMDGPU”。
这种新的无头Headless 64位驱动,带来了众多关键功能,可满足高性能计算需求,包括:低延迟计算调度和PCI-E数据传输、支持对等GPU、从和GPU显存互连的InfiniBand中远程直接访问内存(RDMA)、支持单一大内存分配。
AMDGPU能充分发挥当前AMD显卡的诸多功能特性,统一支持开源、闭源用户模式驱动,当然是完全开源的。
AMD还表示,目前高性能计算专注在Linux平台,是其独享的,Windows暂不考虑。
那么说了这么多,AMD在国内又会有什么新的开发举动呢?Raja对快科技表示:“我们非常希望在中国与合作伙伴们就GPUOpen开展相关合作。中国市场有极大的机会,我们从很多中国超级计算的数据中心收到了很多的需求。他们希望能够利用GPU来做关键计算。在未来,我们期待看到有非常多的虚拟现实(VR)和增强现实(AR)部署在中国市场,而这些应用都会用到高性能计算。”■