【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

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

关注

评论

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

2022年8月国产数据库大事记-墨天轮

墨天轮

数据库 opengauss 国产数据库 达梦 polarDB

软件测试 | 测试开发 | 一文带你了解K8S 容器编排(上)

测吧(北京)科技有限公司

测试

微信Windows端IM消息数据库的优化实践:查询慢、体积大、文件损坏等

JackJiang

sqlite 微信 网络编程 即时通讯 IM

云游戏产业链深度解析

Finovy Cloud

云计算 5G 云渲染 云游戏

Spring源码分析(九)lazy-init 在Spring中是怎么控制加载的

石臻臻的杂货铺

spring 9月月更

OpenHarmony中的HDF单链表及其迭代器

OpenHarmony开发者

Open Harmony

FreeRTOS记录(二、FreeRTOS任务API认识和源码简析)

矜辰所致

源码分析 FreeRTOS 9月月更 任务API

小六六学Netty系列之Java NIO(二)

自然

Netty 网络 9月月更

软件测试 | 测试开发 | 基于Requests与mitmproxy打造迷你接口测试框架

测吧(北京)科技有限公司

测试 Request

软件测试 | 测试开发 | 接口管理工具YApi怎么用?颜值高、易管理、超好用

测吧(北京)科技有限公司

测试 Mock

软件测试 | 测试开发 | 数据持久化技术(Java)

测吧(北京)科技有限公司

测试

易周金融分析 | 多家银行试水特色网点揽客;自动驾驶颠覆传统车险模式

易观分析

自动驾驶 金融 银行 网点

主流定时任务解决方案全横评

阿里巴巴云原生

阿里云 Serverless 云原生

leetcode 104. Maximum Depth of Binary Tree 二叉树的最大深度(简单)

okokabcd

LeetCode 算法与数据结构

找准风口,如何从运维转向 DevOps?

SoFlu软件机器人

软件测试 | 测试开发 | 想测试入门就必须要懂的软件开发流程

测吧(北京)科技有限公司

测试

牛客“基础-中级-高级”Java程序员面试八股文集结,熬夜挑灯刷

程序知音

Java java面试 后端技术 Java面试八股文 Java 面试题

小六六学Netty系列之Java 零拷贝

自然

Netty 网络 9月月更

小六六学Netty系列之Netty群聊

自然

Netty 网络 9月月更

软件测试 | 测试开发 | app自动化测试(Android)--显式等待机制

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | app自动化测试(Android)-- 特殊控件 T识别oast

测吧(北京)科技有限公司

自动化测试 Android;

软件测试 | 测试开发 | 文未有福利 | 接口自动化你不懂?听HttpRunner的作者怎么说

测吧(北京)科技有限公司

测试 接口调试

Serverless 架构下的 AI 应用开发:入门、实战与性能优化

阿里巴巴云原生

阿里云 Serverless 云原生

代码质量与安全 | 实践“边写边清理”,您需要做好这两件事:质量配置文件和质量门

龙智—DevSecOps解决方案

代码质量 代码安全 静态代码安全

SAP UI5 ManagedObject 的 Association 讲解

Jerry Wang

JavaScript typescript SAP UI5 ui5 9月月更

软件测试 | 测试开发 | RPC接口测试技术-Tcp 协议的接口测试

测吧(北京)科技有限公司

软件测试 | 测试开发 | 一文搞懂测试左移和测试右移的 Why-How-What

测吧(北京)科技有限公司

测试 安全测试

软件测试 | 测试开发 | 抓包分析 TCP 协议

测吧(北京)科技有限公司

TCP 抓包分析

软件测试 | 测试开发 | Jenkins 踩坑(三)| Email 配置与任务邮件发送

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 如何模拟真实使用场景?mock 技术来帮你

测吧(北京)科技有限公司

测试

版本管理 | 如何解决SVN的合并冲突与分支问题?

龙智—DevSecOps解决方案

svn 版本管理

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