AMD CDNA介绍(上)

 AMD CDNA介绍
AMD CDNA处理器采用并行微架构,旨在为通用数据并行应用提供一个出色的平台。需要高带宽或计算密集型的数据密集型应用程序,这是在AMD CDNA处理器上运行的候选者。
AMD CDNA生成系列处理器的框图,如图5-10所示。
 
图5-10 AMD CDNA生成系列处理器的框图
CDNA设备包括数据并行处理器(DPP)阵列、命令处理器、存储器控制器和其他逻辑(未示出)。CDNA命令处理器读取主机系统内存映射的CDNA寄存器的命令。命令处理器在命令完成时,向主机发送硬件生成的中断。CDNA存储器控制器可以直接访问所有CDNA设备存储器,以及系统存储器的主机指定区域。为了满足读写请求,存储器控制器执行直接存储器存取(DMA)控制器的功能,包括基于存储器中请求数据的格式地址偏移。在CDNA环境中,一个完整的应用程序包括两部分:
1)在主处理器上运行的程序。
2)在CDNA处理器上运行的程序,称为内核。
CDNA程序由主机命令控制
1)设置CDNA内部基址和其他配置寄存器。
2)指定CDNA加速器要运行的数据域。
3)使CDNA加速器上的缓存无效并刷新缓存。
4)使CDNA加速器开始执行程序。
5.3.2 项目组织
CDNA内核是由CDNA处理器执行的程序。从概念上讲,内核在每个工作项上独立执行,但实际上CDNA处理器将64个工作项分组到一个波阵面中,波阵面在一次过程中对所有64个工作项目执行内核。
CDNA处理器由以下部分组成:
1)标量ALU,每个波阵面处理一个值(所有工作项都有)。
2)向量ALU,对每个工作项的唯一值进行运算。
3)本地数据存储,允许工作组内的工作项进行通信和共享数据。
4)标量内存,可以通过缓存在SGPR和内存之间传输数据。
5)向量存储器,可以在VGPR和存储器之间传输数据,包括采样纹理贴图。
1. 计算着色器
计算内核(着色器)是可以在CDNA处理器上运行的通用程序,从内存中获取数据,对其进行处理,并将结果写回内存。计算内核由调度创建,这会导致CDNA处理器在1D、2D或3D数据网格中的所有工作项上运行内核。CDNA处理器遍历这个网格并生成波前,然后运行计算内核。每个工作项都使用其在网格中的唯一地址(索引)进行初始化。基于此索引,工作项计算需要处理的数据的地址以及如何处理结果。
2. 数据共享
AMD CDNA流处理器可以在不同的工作项之间共享数据。数据共享可以显著提高性能。显示了每个工作项可用的内存层次结构,如图5-11所示。
 
图5-11 共享内存层次结构

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/908445.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AMD Instinct™MI300系列微架构杂谈

AMD Instinct™MI300系列微架构 AMD Instinct MI300系列加速器基于AMD CDNA 3架构,旨在为HPC、人工智能(AI)和机器学习(ML)工作负载提供领先性能。AMD Instinct MI300系列加速器非常适合极端的可扩展性和计算性能,可以在单个服务器到世界上最大的EB级超级计算机的所有设备…

在Eager模式下对Llama 2 7B模型进行性能评估技术

在Eager模式下对Llama 2 7B模型进行性能评估 指定--compile none以使用Eager模式。 1)--compile:设置为none以使用Eager模式 2)--profile:启用torch.profiler的跟踪功能 3)--checkpoint_path:检查点路径 4)--prompt:输入提示 5)--max_new_tokens:最大新的token数 6)…

使用 torch.compile 加速视觉Transformer

使用 torch.compile 加速视觉Transformer视觉Transformer(ViT)是一个类似 BERT的transformer编码器模型,在大规模的图像集合上,使用有监督方式进行了预训练,就是在分辨率为 224224 像素的 ImageNet-21k 数据集上预训练的。以下是如何使用这个模型将 COCO 2017 数据集中的一…

推荐技术书《AI芯片开发核心技术详解》(1)、《智能汽车传感器:原理设计应用》(2)、《TVM编译器原理与实践》(3)、《LLVM编译器原理与实践》(4),谢谢

4本书推荐《AI芯片开发核心技术详解》、《智能汽车传感器:原理设计应用》、《TVM编译器原理与实践》、《LLVM编译器原理与实践》由清华大学出版社资深编辑赵佳霓老师策划编辑的新书《AI芯片开发核心技术详解》已经出版,京东、淘宝天猫、当当等网上,相应陆陆续续可以购买。该…

GPU到GPU通信选项技术

GPU到GPU通信选项技术将讨论使用AMD Instinct™MI250和AMD InstinctTM MI250X GPU的系统中的GPU到GPU通信选项。每个MI250(X)GPU由两个图形计算芯片(GCD)组成。如图4-20所示,显示了具有4个MI250 GPU(8个GCD)的节点的示意图。每个绿色框代表一个MI250 GPU和两个GCD。GCD通…

visual stdio 使用CMake

基础知识 工具>选项>CMake>常规 选中从不使用CMake预设重启 visual stdio,点击打开本地文件夹(F),打开CMakeList.txt根目录此时会在CMake根目录自动生成CMakeSettings.json文件,使用visual stdio文件打开CMakeSettings.json如果打开时,是json文件时,可以右键CMa…

mysql InnoDB的事务

一、事务的概念 一组数据库操作要么全部成功,要么全部失败,目的是为了保证数据的最终一致性 二、事务的四大特性(ACID)原子性(Actomicity):当前事务的操作要么成功,要么失败,原子性是由undo log日志来保证 一致性(Consistency):使用事务的最终目的,由业务代码正确…

如何使用 OpenAI Agents SDK 构建 MCP

1.概述 OpenAI Agents SDK 现已支持 MCP(模型上下文协议),这是 AI 互操作性的重大变革。这使开发人员能够高效地将 AI 模型连接到外部工具和数据源。本篇博客,笔者将指导使用 OpenAI Agents SDK 构建 MCP 服务器,以增强你的 AI 应用程序。 2.内容 2.1 什么是 MCP MCP 服务…

C语言打卡学习第11天(2025.3.30)(补发)

冒泡排序的一个学习。还了解了一个快速排序的“挖坑法”,能省变量位置,但挺难写的,挺有意思:把数组第一个元素放一个空作为一个标准值,第一个位置就空了出来,然后将第一个“暂时标准值”从最后一个数开始比较,后面小就放到第一个“坑”,然后“坑”又到后面了,再从前面…

C语言打卡学习第10天(2025.3.29)(补发)

指针和数组的学习,数组现在能做到基本掌握和简单运用,指针有些难,还是得练

FastAPI中的Pydantic密码验证机制与实现

title: FastAPI中的Pydantic密码验证机制与实现 date: 2025/03/31 00:04:51 updated: 2025/03/31 00:04:51 author: cmdragon excerpt: FastAPI 中通过 Pydantic 模型实现密码验证,采用分层机制确保高效与灵活扩展。验证流程包括基础类型检查、长度验证、复杂度验证和泄露检…