写点什么

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:001911
用户头像

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

关注

评论

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

智变的八个瞬间,京东智联云化“?”为“!”

脑极体

我真的尽力了,最经典Redis面试14题,没时间复习就看这个吧

小Q

redis 学习 编程 架构 面试

11.11 应对海量访问的网络基石 京东智联云自研交换机发展之路

京东科技开发者

运维 网络 交换机

架构师训练营 -week09-总结

大刘

极客大学架构师训练营

MySQL中的锁机制

AI乔治

Java MySQL 架构 线程 锁机制

国网浙江建设公司推进“信用基建+区块链”建设

CECBC

区块链 国网 基建

【MySQL】如何最大程度防止人为误操作MySQL数据库?这次我懂了!!

冰河

MySQL 数据库 性能优化 数据安全 分布式数据储存

注册中心原理剖析

石刻掌纹

vue项目实战经验汇总

徐小夕

Java 面试 Vue 大前端 Vue3

CSS 排版与正常流 —— 重学CSS

三钻

CSS 排版

前嗅教你大数据——什么是代理IP?

前嗅大数据

爬虫 数据采集 静态IP 代理IP 动态IP

在Codurance是如何面试技术人员的

sherlockq

面试 TDD

数字货币引发的金融变革

CECBC

数字化时代

Springboot过滤器和拦截器详解及使用场景

AI乔治

Java spring 架构 Spring Boot

阿里P8以hashmap讲解如何学习jdk源码,还不学习

小Q

Java 学习 源码 jdk mybatis

Nginx-技术专题-技术介绍

码界西柚

读谱对吉他手来说重要吗?试试它提升你的读谱效率

奈奈的杂社

学习 编曲 打谱

面经手册 · 第18篇《AQS 共享锁,Semaphore、CountDownLatch,听说数据库连接池可以用到!》

小傅哥

Java 并发编程 共享锁 Semaphore 信号量

Dubbo 接口,导出 Markdown ,这些功能 DocView 现在都有了!

程序员小航

markdown idea插件 IntelliJ IDEA 文档生成 Doc View

MySQL从库维护经验分享

Simon

MySQL 主从复制

高承实:区块链的工业革命带来了什么?

CECBC

区块链 分布式

新工业化如何实现?今年的信息化百人会中藏着“懂行”密码

脑极体

《网络是怎样连接的》PDF下载

计算机与AI

网络

Redis 持久化之 RDB 与 AOF 详解

AI乔治

Java 架构 redis持久化 redia

会装虚拟机,删库不用跑

MySQL从删库到跑路

虚拟机 virtualbox

【薪火计划】03 - 从错误中认识到管理

AR7

管理

甲方日常53

句子

工作 随笔杂谈 日常

什么是云服务?

anyRTC开发者

音视频 WebRTC 云服务 RTC

SQL数据库:窗口函数

正向成长

窗口函数

微服务通信之feign的配置隔离

编程 微服务 计算机

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