0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

GPU平台生态:英伟达CUDA和AMD ROCm对比分析

智能计算芯世界 来源:架构师技术联盟 2023-06-06 14:36 次阅读

成熟且完善的平台生态是GPU厂商的护城河。相较于持续迭代的微架构带来的技术壁垒硬实力,成熟的软件生态形成的强大用户粘性将在长时间内塑造GPU厂商的软实力。以英伟达CUDA为例的软硬件设计架构提供了硬件的直接访问接口,不必依赖图形API映射,降低GPGPU开发者编译难度,以此实现高粘性的开发者生态。目前主流的开发平台还包括AMD ROCm以及OpenCL。

CUDA(Compute Unified Device Architectecture),是NVIDIA于2006年推出的通用并行计算架构,包含CUDA指令集架构(ISA)和GPU内部的并行计算引擎。该架构允许开发者使用高级编程语言(例如C语言)利用GPU硬件的并行计算能力并对计算任务进行分配和管理,CUDA提供了一种比CPU更有效的解决大规模数据计算问题的方案,在深度学习训练和推理领域被广泛使用。

7853142a-042f-11ee-90ce-dac502259ad0.png

CUDA除了是并行计算架构外,还是CPU和GPU协调工作的通用语言。在CUDA编程模型中,主要有Host(主机)和Device(设备)两个概念,Host包含CPU和主机内存,Device包含GPU和显存,两者之间通过PCI Express总线进行数据传输。在具体的CUDA实现中,程序通常划分为两部分,在主机上运行的Host代码和在设备上运行的Device代码。Host代码负责程序整体的流程控制和数据交换,而Device代码则负责执行具体的计算任务。

一个完整的CUDA程序是由一系列的设备端函数并行部分和主机端的串行处理部分共同组成的,主机和设备通过这种方式可以高效地协同工作,实现GPU的加速计算。

78655c16-042f-11ee-90ce-dac502259ad0.png

CUDA在Host运行的函数库包括了开发库(Libraries)、运行时(Runtime)和驱动(Driver)三大部分。其中,Libraries提供了一些常见的数学和科学计算任务运算库,Runtime API提供了便捷的应用开发接口和运行期组件,开发者可以通过调用API自动管理GPU资源,而Driver API提供了一系列C函数库,能更底层、更高效地控制GPU资源,但相应的开发者需要手动管理模块编译等复杂任务。

787714ba-042f-11ee-90ce-dac502259ad0.png

CUDA在Device上执行的函数为内核函数(Kernel)通常用于并行计算和数据处理。在Kernel中,并行部分由K个不同的CUDA线程并行执行K次,而有别于普通的C/C++函数只有1次。每一个CUDA内核都以一个声明指定器开始,程序员通过使用内置变量__global__为每个线程提供一个唯一的全局ID。一组线程被称为CUDA块(block)。CUDA块被分组为一个网格(grid),一个内核以线程块的网格形式执行。每个CUDA块由一个流式多处理器(SM)执行,不能迁移到GPU中的其他SM,一个SM可以运行多个并发的CUDA块,取决于CUDA块所需的资源,每个内核在一个设备上执行,CUDA支持在一个设备上同时运行多个内核。

7881a0e2-042f-11ee-90ce-dac502259ad0.png

788b7edc-042f-11ee-90ce-dac502259ad0.png

丰富而成熟的软件生态是CUDA被广泛使用的关键原因。

(1)编程语言:CUDA从最初的1.0版本仅支持C语言编程,到现在的CUDA 12.0支持C、C++、Fortran、Python等多种编程语言。此外,NVIDIA还支持了如PyCUDA、ltimesh Hybridizer、OpenACC等众多第三方工具链,不断提升开发者的使用体验。

(2)库:NVIDIA在CUDA平台上提供了名为CUDA-X的集合层,开发人员可以通过CUDA-X快速部署如cuBLA、NPP、NCCL、cuDNN、TensorRT、OpenCV等多领域常用库。

(3)其他:NVIDIA还为CUDA开发人员提供了容器部署流程简化以及集群环境扩展应用程序的工具,让应用程序更易加速,使得CUDA技术能够适用于更广泛的领域。

ROCm(Radeon Open Compute Platform)是AMD基于开源项目的GPU计算生态系统,类似于NVIDIA的CUDA。ROCm支持多种编程语言、编译器、库和工具,以加速科学计算、人工智能机器学习等领域的应用。ROCm还支持多种加速器厂商和架构,提供了开放的可移植性和互操作性。

ROCm支持HIP(类CUDA)和OpenCL两种GPU编程模型,可实现CUDA到ROCm的迁移。最新的ROCm 5.0支持AMD Infinity Hub上的人工智能框架容器,包括TensorFlow 1.x、PyTorch 1.8、MXNet等,同时改进了ROCm库和工具的性能和稳定性,包括MIOpen、MIVisionX、rocBLAS、rocFFT、rocRAND等。

7897e212-042f-11ee-90ce-dac502259ad0.png

78a13970-042f-11ee-90ce-dac502259ad0.png

OpenCL(Open Compute Language),是面向异构系统通用并行编程、可以在多个平台和设备上运行的开放标准。OpenCL支持多种编程语言和环境,并提供丰富的工具来帮助开发和调试,可以同时利用CPU、GPU、DSP等不同类型的加速器来执行任务,并支持数据传输和同步。

78b03a1a-042f-11ee-90ce-dac502259ad0.png

78b8f9ca-042f-11ee-90ce-dac502259ad0.png

此外,OpenCL支持细粒度和粗粒度并行编程模型,可根据应用需求选择合适模型提高性能和效率。而OpenCL可移植性有限,不同平台和设备的功能支持和性能表现存在一定差异,与CUDA相比缺少广泛的社区支持和成熟的生态圈。

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • amd
    amd
    +关注

    关注

    25

    文章

    5197

    浏览量

    132632
  • gpu
    gpu
    +关注

    关注

    27

    文章

    4417

    浏览量

    126705
  • C语言
    +关注

    关注

    180

    文章

    7530

    浏览量

    128664
  • CUDA
    +关注

    关注

    0

    文章

    119

    浏览量

    13461
  • 英伟达
    +关注

    关注

    22

    文章

    3327

    浏览量

    87769

原文标题:GPU平台生态:英伟达CUDA和AMD ROCm对比分析

文章出处:【微信号:AI_Architect,微信公众号:智能计算芯世界】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    233.国产GPU和国外竞争对手的差距在哪里?#国产gpu#英伟

    gpu英伟
    小凡
    发布于 :2022年10月04日 13:19:50

    267.英伟对中俄出口高端GPU芯片受新限制

    gpu英伟
    小凡
    发布于 :2022年10月04日 15:13:52

    AI开发者福音!阿里云推出国内首个基于英伟NGC的GPU优化容器

    GPU计算平台。阿里云推出国内首个基于英伟NGC的GPU优化容器3月28日,在2018云栖大会·深圳峰会上,阿里云宣布与
    发表于 04-04 14:39

    英伟发布新一代 GPU 架构图灵和 GPU 系列 Quadro RTX

    在 8 月 14 日的 SIGGRAPH 2018 大会上,英伟 CEO 黄仁勋正式发布了新一代 GPU 架构 Turing(图灵),以及一系列基于图灵架构的 GPU,包括全球首批支
    发表于 08-15 10:59

    英伟GPU惨遭专业矿机碾压,黄仁勋宣布砍掉加密货币业务!

    的加密货币业务的下滑原因不能简单归结于加密货币市场的总体趋势。 GPU挖矿效率不敌专用挖矿芯片,矿工纷纷流失英伟的加密货币业务部门的核心问题是对GPU挖矿的需求下降。由于用于制造显卡
    发表于 08-24 10:11

    AMD迎头猛追Intel 全球首发7nm GPU很威风!

    与MI50加速器大幅提升运算效能、高速连接、高速传输存储器频宽,并更新ROCm开放软件平台,满足要求最严苛的深度学习、高效能运算、云端以及渲染等应用。资料显示,AMD发表AMD Rad
    发表于 11-20 11:35

    自动驾驶(七十五)---------几种硬件平台对比 精选资料分享

    上一篇主要介绍了硬件平台的基本情况,并没有详细的分析对比每种硬件平台的优劣,这里我选取几种常见的硬件平台,从输入、硬件架构、输出等几个方面
    发表于 07-27 07:58

    恩智浦S32V/英伟DRIVE PX2/TI的TDA4/寒武纪1M/高通SA8155对比分析哪个好?

    恩智浦S32V/英伟DRIVE PX2/TI的TDA4/寒武纪1M/高通SA8155对比分析哪个好?
    发表于 09-30 07:03

    英伟DPU的过“芯”之处

    芯片的路径”,在一个是DOCA试图再一次复制“CUDAGPU通用化过程中所起到的开创生态之功”。如果和不久前英伟收购ARM的消息结合起来
    发表于 03-29 14:42

    英伟达黄仁勋:GPU加速计算是发展方向

    据介绍,英伟达已经售出15亿块GPU,如今在使用的每块GPU都兼容CUDA。而英伟CUDA
    的头像 发表于 12-18 14:26 2413次阅读

    国产GPU绕不开的CUDA生态

    CUDA(Compute Unified Device Architecture,统一计算架构)是由英伟达所推出的一种集成技术,是该公司对于GPGPU的正式名称。通过这个技术,用户可利用NVIDIA的GPU进行图像处理之外的运算
    的头像 发表于 11-29 09:36 2675次阅读

    GPU平台生态英伟CUDAAMD ROCm对比分析

    CUDA 除了是并行计算架构外,还是 CPU 和 GPU 协调工作的通用语言。在CUDA 编程模型中,主要有 Host(主机)和 Device(设备)两个概念,Host 包含 CPU 和主机内存,Device 包含
    的头像 发表于 05-18 09:57 1693次阅读
    <b class='flag-5'>GPU</b><b class='flag-5'>平台</b><b class='flag-5'>生态</b>,<b class='flag-5'>英伟</b>达<b class='flag-5'>CUDA</b>和<b class='flag-5'>AMD</b> <b class='flag-5'>ROCm</b><b class='flag-5'>对比分析</b>

    AMD将于今年秋季在部分RDNA 3 GPU上添加ROCm的支持

    交互的方式,并推动以GPU为中心的数据中心对高性能计算的需求显著增加。 ROCm是一个开放软件平台,允许研究人员利用AMD Instinct加速器的强大功能,促进HPC和AI创新跨
    的头像 发表于 07-25 15:40 481次阅读

    AMD 发布新的AMD ROCm 5.6开放软件平台

             近日,AMD 发布了新的 AMD ROCm 5.6 开放软件平台AMD AI群组高级副总裁 Vamsi Boppana
    的头像 发表于 07-25 16:29 677次阅读

    GPU技术、生态及算力分析

    对比AMD从2013年开始建设GPU生态,近10年时间后用于通用计算的ROCm开放式软件平台才逐
    的头像 发表于 01-14 10:06 574次阅读
    <b class='flag-5'>GPU</b>技术、<b class='flag-5'>生态</b>及算力<b class='flag-5'>分析</b>