前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AMD GCN 微架构之超算细节详解

AMD GCN 微架构之超算细节详解

作者头像
GPUS Lady
发布2018-03-30 12:13:55
1.3K0
发布2018-03-30 12:13:55
举报
文章被收录于专栏:GPUS开发者GPUS开发者

在 2012 年,AMD 正式推出了代号为的 Tahiti 的新 GPU,这个 GPU 的特别之处在于采用了名为 Graphics Core Next 的全新架构,指令集由 VLIW5/VLIW4 改为通用计算效率更好的标量指令(硬件隐式 SIMD),从那时起到现在,AMD 的所有新 GPU 都采用了 SIMD16 的 GCN 微架构,特别是在通用计算领域,GCN 的问世让 AMD 在这个领域得以和竞争对手一较高下。

GCN 发布至今,按照 AMD 的划分,经过了 1.0、1.1、1.2 三个 ISA(指令集)版本,1.0 对应的 GPU 系列是 Southern Islands(旗舰自然是 Tahiti),1.1 对应 Sea Island(旗舰是 Hawaii),1.2 是目前最新的,对应 Volcanic Islands(目前该系列最高端的 GPU 代号是 Tonga)。

这些 ISA 版本号一般只出现在开发工具和资料中,平常大家看到的都是产品的具体型号,这就好像 NVIDIA CUDA 资料中提到的 Compute Capability(计算能力)一样,便于开发人员区分设备。

一般来说,版本号较新的微架构都会具备上一版本更丰富的“关键特性”,但是它和性能没有直接关系,性能的高低取决于实现(也就是具体的 GPU),例如 GCN 1.1 支持 OpenCL 2.0,但是 GCN 1.1 的低端系列在性能上是无法比得上 GCN 1.0 的高端产品。

出于宣传的考量,GPU 厂商会把一些术语弄得让人摸不着头脑,有时候还会做一些夸张阐述。例如 NVIDIA 把功能单元称作“core(内核)”,而最低端的 GPU 就有几十个这样的功能单元,高端顶配的更是有数千个,于是乎就出现了 GPU 有数千个内核,看上去挺吓人的。

为了避免不必要的误解和统一,我们在这里以 OpenCL 中的术语为准,例如功能单元称作 PE,GPU 厂商的 thread 则称作 work-item,thread block 称作 work-group。AMD 在 GCN 发布后,也是采用了 OpenCL 的术语来阐述 GPU 中的各种名词,如果你手头有一本 OpenCL 的书籍或者电子文档的话,就能非常清楚我说的是什么。

GPU 中和 CPU 内核比较相似的单位就是 AMD/OpenCL 中称作 Compute Unit 或者是 NVIDIA 称作 SM(Kepler 中称作 SMX,Maxwell 中称作 SMM) 的组件,因为它们都有名为 Program Counter(程序计数器)的单元,用作指向当前 CU 或者 SM 下一条要执行的指令地址,这使得 CU/SM 看上去非常类似与 CPU 概念中的内核。

当然由于受到制造工艺的限制,目前的 CU/SM 和 CPU 内核相比还是有不少区别的,例如 CPU 很早之前就可以抢占式多任务,而目前的 GPU 都不具备这样的特性,只能是当前的 kernel 跑完后再跑另一个 kernel,又或者直接咔嚓掉当前还在跑的 kernel(如果显卡连接着显示器的话,在 Windows 中遇到 kernel 长时间没有执行完毕的话就会出现大家“喜闻乐见”的 GPU 复位)。

(continue...)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-01-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GPUS开发者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档