2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

AMD 宣布 GPUOpen 倡议,主推开源软件栈

  • 2015-12-21
  • 本文字数:1732 字

    阅读完需:约 6 分钟

今年九月份,AMD 公司专门成立了 Radeon 技术部门(Radeon Technologies Group,RTG),来壮大自己 GPU 研发领域的技术力量。此外,该公司还聘请了 Raja Koduri 为全球资深副总裁兼首席架构师,并提拔图形与并行计算架构师 Michael Mantor 为公司院士。近日,Raja 针对全球媒体主持召开了一次 RTG 技术峰会,介绍了 AMD 未来一年的 GPU 产品和技术战略,内容十分丰富。本文针对会议中所介绍的 GPUOpen 进行详细介绍。

GPUOpen 是 AMD 所发起的一个全新倡议。其主要目标是以开放的方式来推动 GPU 相关的开发,共包含了三个方面的内容。

开源工具链

一直以来,AMD 在游戏机市场都占据着重要的地位。PlayStation 4 和 Xbox One 都采用了 AMD 的 CPU 和 GPU。然而,AMD 在 PC 市场无法和 NVIDIA 平起平坐。其根源还在于显卡以及相关的开发工具难以与其抗衡。根据经验,游戏机中 GPU 的底层访问能够为游戏性能带来很大的提升。因而,AMD 和 RTG 一直在探索如何能够针对 PC 和游戏机进行类似的开发。之前,AMD 曾提出了一个突破性的显卡 API——Mantle,希望以此来改变游戏开发领域,提升电脑游戏的性能和速度。近期,NVIDIA 也推出了 Gameworks 工具,向 AMD 发起了挑战——该工具使得游戏开发者可以快速应用 NVIDIA 的 3D 技术,简化开发,但 AMD 系统就无法享受到这样的好处。

为了应对该挑战,AMD 的 GPUOpen 在开放底层硬件访问权限的基础上提出了开源的想法。GPUOpen 倡议包括了为游戏开发者提供底层 GPU 硬件和 GitHub 上开源的效果、工具、库以及 SDK 的访问权限。其相关代码会使用相对宽松的 MIT 许可证,而且在 GitHub 中进行公布。这样,开发人员就可以利用一个统一的工具库来面向 AMD、NVIDIA 以及 Intel 等公司的 GPU。目前,TressFX、ShadowFX、GeometryFX 以及 AOFX 库都包括在了 GPUOpen 范围内。此外,GPUOpen 还包括了 FireRender 渲染引擎、GPU 加速的光线追踪 SDK、RapidFire 云 SDK 以及 CodeXL 调试器和性能分析器。

支持高级语言开发

几周以前,AMD 已经宣布了 Boltzmann 倡议。该倡议的主要目标就是利用 C++ 等高级语言来简化并行应用程序的开发工作。其所包含的异构系统架构(Heterogeneous System Architecture,HSA)的软件套件提供了一个针对 C++ 语言的异构计算编译器(HCC)。利用该编译器,开发人员可以更加有效、便捷地使用异构系统中的 GPU 硬件资源。

此外,异构计算可移植界面 (HIP) 还允许开发人员将 CUDA 代码转换为可移植的 C++ 代码。据 AMD 透露,HIP 在很多情况下可以将 90% 的 CUDA 代码转换成 C++,而剩余的 10%则可以手动转换。预计 AMD 将在 2016 年 1 月开放 Boltzmann 的初期访问。

开源 Linux 驱动和运行时

AMD 的 GPUOpen 倡议还包括了一个针对高性能计算的 Linux 驱动模型和运行时。目前,AMD 维护了两个 Linux 驱动栈——开源的 Radeon 驱动和闭源的 Catalyst 驱动。未来,AMD 将会推出一个针对其 GPU 的统一开源基础图像驱动。在此基础上,AMD 再维护两个并行的驱动栈——全开放的栈包含的都是开源的模块;高性能栈则包含了开源的运动视频模块和闭源的 OpenGL 模块。未来,和 OpenGL 模块并行存在的 OpenCL/Vulkan 模块将会从闭源走向开源。

而 AMD 全新的无头 64 位 Linux 驱动包括了众多关键功能——低延迟计算调度、PCI-E 数据传输、支持对等 GPU、从和显存直接互连的 InfiniBand 网络中远程直接访问内存 (RDMA) 以及支持单一大内存分配。这些功能可以很好的满足高性能计算的需求。

尽管 GPUOpen 的倡议刚刚提出,其已经能够明确说明 AMD 在 GPU 方面的发展方向。在与 NVIDIA 的 PC 市场竞争中,AMD 已经处于劣势,但该倡议却能够有效利用开源社区的力量来促进 AMD GPU 以及相关工具的发展。而且,GPUOpen 能够让开发人员更好的访问底层 GPU,实现应用程序性能的提升。这样,更多的应用就会倾向于针对 Radeon 硬件进行专门的优化,扩展 AMD GPU 的应用市场,对于 AMD 而言,这实在是一步好棋。


感谢董志南对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。

2015-12-21 18:002239
用户头像

发布了 268 篇内容, 共 136.9 次阅读, 收获喜欢 24 次。

关注

评论

发布
暂无评论
发现更多内容

【React技术】JSX在企业级项目的运用and一个元素渲染demo

恒山其若陋兮

前端 11月月更

以原子化服务为基石,面向三大场景打造鸿蒙软硬协同新体验

最新动态

python任务调度利器-APScheduler

AIWeker

Python 任务调度 11月月更

「Go工具箱」gorilla/sessions包的使用及原理分析

Go学堂

golang 深度思考 个人成长 Web 11月月更

React源码解读之更新的创建

flyzz177

React

DDD与EDA-核心逻辑提炼方法论

胖子笑西风

Java 架构 DDD 事件驱动 EDA

极客时间运维进阶训练营第五周作业

独钓寒江

Python操作XML文件

度假的小鱼

11月月更 Python操作xml xml与html区别

我们为什么喜欢看疯狂科学家开飞艇?

脑极体

CDH5部署三部曲之三:问题总结

程序员欣宸

大数据 hadoop CDH 11月月更

React源码分析2-深入理解fiber

goClient1992

React

JXcore 打包在企业级项目里的合理运用和模块系统以及网络的配置详解【node.js】

恒山其若陋兮

前端 11月月更

盘点入职时,那些常见但不合规的操作

石云升

职场 入职 11月月更

React源码分析3-render阶段(穿插scheduler和reconciler)

goClient1992

React

EasyRcovery2023绿色免费版U盘数据恢复软件

茶色酒

EasyRcovery2023

React源码分析1-jsx转换及React.createElement

goClient1992

React

C++学习---类型萃取---is_pointer && is_lvalue_reference/is_rvalue_reference

桑榆

C++ STL 11月月更

CrossOver2023免费版虚拟机软件安装包下载

茶色酒

CrossOver2023

Gradle入门了解

派大星

Gradle

信息论与编码:随参信道特性

timerring

11月月更 信息论 移动通信

Python基础库-json库

度假的小鱼

11月月更 Python操作json json语法规则

React源码解读之React Fiber

flyzz177

React

性能测试知识科普(七):监控能给你带来什么

老张

性能测试 监控指标

关于部署策略的遐思

在天涯的海角

【web 开发基础】PHP的匿名函数和闭包 (40)

迷彩

闭包 closure web开发基础 匿名函数 11月月更

Python 操作BeautifulSoup4(爬取网页信息)

度假的小鱼

正则 11月月更 Python BeautifulSoup4

React源码解读之任务调度

flyzz177

React

规则引擎Drools在贷后催收业务中的应用

vivo互联网技术

drools 规则引擎

三分钟了解client-go

穿过生命散发芬芳

Client-go 11月月更

一文熟悉 Go 函数

陈明勇

Go golang 闭包 函数 11月月更

AMD宣布GPUOpen倡议,主推开源软件栈_语言 & 开发_张天雷_InfoQ精选文章