从AICore到TensorCore:华为910B与NVIDIA A100全面分析

625fb64461250fc9f75ff33e09147e27.jpeg

华为NPU 910B与NVIDIA GPU A100性能对比,从AICore到TensorCore,展现各自计算核心优势。

   

AI 2.0浪潮汹涌而来,若仍将其与区块链等量齐观,视作炒作泡沫,则将错失新时代的巨大机遇。现在,就是把握AI时代的关键时刻。

AI芯片作为AI热潮中的"掘金利器",备受瞩目。Gartner预测,至2027年,其市场规模将飙升至1194亿美元,前景广阔。

英伟达,以80%的市场占有率雄踞算力之巅,其强势地位带来丰厚盈利。财报亮眼,市值更是一夜飙升2770亿美元,彰显其无可匹敌的市场影响力。

然而,美国实施的出口管制政策对英伟达在华业务造成了冲击,致其一季度H20芯片出口增长未达预期。但华为910B芯片订单成绩亮眼,呈现出强劲的市场需求。

英伟达CEO黄仁勋罕见发声,称华为为最大劲敌,其拥有丰富资源并自主设计软硬件提升AI算力。出口限制下,华为昇腾910系列AI芯片成为英伟达A100在中国市场的热门替代,自国企、通信商至互联网,昇腾芯片受到广泛采购,展现其卓越的市场影响力。

展望未来,随着Sora、GPT-4o等多模态大模型的普及,计算资源需求将持续攀升。芯片设计需精准适配这些计算场景,并研发专用硬件加速器,以高效支持复杂模型的训练与应用,满足日益增长的计算需求。

揭秘AI芯片巨头对决!华为昇腾910B与NVIDIA A100硬件参数解析,一探华为NPU与NVIDIA GPU在设计与应用中的实力较量,洞察各自优势与短板,为您的“淘金”之旅提供关键指引。

1. AI芯片硬件概述

昇腾910B,华为顶尖AI处理器,专为推理与训练而生。搭载创新达芬奇架构与高效NPU设计,昇腾910B展现卓越计算性能与能效比,为人工智能任务提供强大动力。

be24fe85f68a0dda76f82674d57f73dc.jpeg

华为自研的910B AI处理器架构图亮相,集成25个AI Core、4个HBM 2.0内存及AI CPU、DVPP模块、HCCS链路等关键组件,配备先进缓存系统,展现强大AI处理能力。

910B的AI Core是专为深度学习设计的计算核心,自诞生起便针对高性能计算需求进行优化,为深度学习领域提供强大支持与高度灵活性。

3c29bc19caadb5312e7b679b4abfb85e.jpeg

NVIDIA GPU起初深耕图形处理,后借Tesla芯片之力转型GPGPU,实现通用计算,并不断提升AI计算能力,与华为NPU发展轨迹迥异。

NVIDIA A100 GPU,Ampere架构的巅峰之作,引领技术革新,加速迈向人工通用智能(AGI)。这款GPU在图形处理、深度学习及高性能计算领域均展现卓越性能,成为AI研究与应用的关键动力,开启智能新时代。

A100全能应用版GPU内置128个SM,TensorCore版则拥有108个SM。每个SM配备丰富CUDA核心和Tensor核心,专为图形通用计算和AI张量计算设计,展现了出色的计算性能与效率。

A100 GPU搭载丰富的HBM2堆栈,结合第三代NVLink协议与第二代NvSwitch技术,实现GPU间高速数据交换。其性能卓越,FP32性能较V100提升10倍,混合精度训练效能更增20倍。这些显著优势使A100 GPU成为AI领域进步的强大驱动力,引领行业迈向新高度。

英伟达GPU与华为NPU,虽初衷各异,但在大模型时代,两者均为AI芯片翘楚,以其卓越的训练、推理计算性能与能效比,共同引领AI发展潮流。

如果你想了解华为910B和英伟达A100更详细的对比,可以参考这篇文章:

华为NPU vs 英伟达GPU 架构原理和编程范式深度对比

2. 计算性能比较

华为910B NPU的核心计算单元为AI Core,共计25个,与GPU中的SM相似,但NPU并行计算单元较GPU更为精简,展现其高效能、专业化的AI处理能力。

NVIDIA A100 TensorCore版GPU配备108个SM,而全功能版则高达128个,彰显GPU在并行计算单元领域的卓越性。更多SM赋予其强大并行计算能力,轻松应对复杂计算挑战,展现技术领先实力。

7f893433d7f598d326b2651b14d8514c.jpeg

910B NPU的每个AICore集成两大计算利器:2个AI Vector向量计算单元与1个AI Cube矩阵计算单元。前者媲美GPU中的CUDA Core,后者则与TensorCore相当,共同为高性能计算提供强大支撑。

910B NPU中,每AICore配备2个AI Vector,总计25个AICore拥有50个AI Vector,每AI Vector每时钟周期可完成128次FP16计算。相较之下,A100拥有108个SM,每SM包含64个FP32 CUDA Core,每CUDA Core每时钟周期执行一次FP32计算。这凸显了910B NPU在AI处理上的高效计算能力。

acfc4dfff47684450ef2036c08e10656.jpeg

A100 GPU中,每SM搭载4个Tensor Core,每个Tensor Core每时钟周期可完成高达4x8x8的FP16/FP32 FMA计算,单SM即实现1024次密集FP16/FP32 FMA操作,整机配备108个SM,计算能力卓越。

910B NPU的每个AICore都配备一个Cube Core,其计算能力强大,单个时钟周期内可执行多达16x16x16次FP16/FP32 FMA运算。这意味着,每个AICore能高效完成4096次密集的FP16/FP32 FMA操作。而910B NPU总共配备了25个这样的AICore,计算能力惊人。

华为NPU芯片设计聚焦高效能,虽减少计算单元数量,但矩阵计算单元远超GPU,强调单元计算力与效率,专为处理大规模矩阵计算任务如深度学习推理而优化。

经过测试数据分析,在普通模式下,910B与A100算力旗鼓相当。但华为910B在单个时钟周期内可处理16x16x16的矩阵计算,远胜于A100的4x8x8,其单次矩阵计算能力高达A100的16倍,效能显著。

A100凭借Sparsity稀疏矩阵计算支持及丰富的TensorCore单元,在多数场景中显著超越910B。尽管910B在单一矩阵计算上表现出色,但A100在处理多元计算任务时依旧占据优势,尤其在稀疏矩阵计算领域,A100的性能尤为突出。

3. 内存架构比较

华为910B与英伟达A100在内存架构上大相径庭。910B凭借AI Vector与AI Cube的完全解耦设计,实现了两计算单元独立存储体系,展现了独特的技术优势。

c2fc5ffd07181d9051b8038be5fe8d5c.jpeg

此外,在全局存储的L2缓存方面,A100配备40MB,而910B则大幅升级至192MB,显著超越A100,提供更强大的缓存能力。

在A100中,L1/共享内存统一为192KB的逻辑区域;而华为910B的L1缓存独立存在于Cube单元,达1MB,UB缓存则作为共享内存,位于Vec单元,容量为256KB,彰显不同设计思路。

A100的每个SM配备256KB寄存器或L0缓存,而910B的Cube拥有256KB输出寄存器及64KB输入寄存器,彰显其卓越的数据处理能力。

910B相较于A100,拥有更庞大的存储体系,显著提升了深度学习中大数据传输的支持能力,因此更适用于深度学习任务,展现卓越性能。

4. 通信性能比较

通信架构上的优势一直是英伟达强大的护城河之一。

A100架构汇集第三代Nvlink、第二代NvSwitch及第四代PCle,实现高效的GPU间互联。在摩尔定律渐失效、算力需求飙升的今天,这一创新设计尤显关键,为满足高性能计算需求提供了强大支持。

275bce1b4d93d6ec1218ff04aef93360.jpeg

A100架构中,每张GPU卡依托12条NVLink链路和6个NVSwitch,实现全连接网络拓扑,性能卓越。

尽管标准DGX A100配置只配备8块GPU卡,未能充分发挥NVLink的硬件潜能,但该系统可扩展性强,支持增添更多A100 GPU卡与NVSwitch,轻松打造更强大的超级计算机,满足大规模运算需求。

A100通过NVLink与NvSwitch技术,实现了GPU间的全互联高速通信,总带宽高达600GB/s。得益于NvSwitch的互联功能,即便是单点对点的传输,也能达到惊人的600GB/s带宽,确保了机内GPU间通信的高效与稳定。

DGX A100搭载高性能InfiniBand适配器,支持RDMA技术,实现GPU间通信带宽高达200Gbps。然而,需注意InfiniBand需专用网卡及昂贵交换机,投入成本相对较高。尽管如此,其卓越的通信性能仍具强大吸引力。

机内CPU与GPU的通信经由PCIe Switch高效互联。每CPU与4个GPU通过PCIe Switch实现通信,宛如交换机运作,支持多插槽配置。GPU 0~3及GPU 4~7间,既可依赖NVLink直接沟通,亦可选择PCIe Switch进行数据传输。NVLink专为实现GPU间的高速通信而设计,确保数据处理流畅无阻。

相较于A100,华为910B因缺少NvSwitch,故采用类似GPU DGX-1的芯片直接互联方式进行机内通信,实现了高效的数据传输。

898f4fa4729a390bb46fb043c1753ce5.jpeg

DGX-1的GPU架构图彰显其独特设计:每芯片配备4个NVLink链路,四芯片组合成cube mesh。GPU 0至3与GPU 4至7均通过NVLink和PCIe Switch实现互联。然而,GPU 0与GPU 4间无直接通路,需通过如GPU0-GPU2-GPU4的间接路径进行通信,这一创新设计确保数据处理的高效与灵活。

9be2f20439fd16e7b16a5bd40129ddb3.jpeg

华为910B中,每芯片支持7个HCCS链路,8芯片组成cube mesh。与DGX-1的GPU跳通信不同,16卡910B机器间采用PCIe互联。如NPU0与NPU9间需跨PCIe通信,通信效率受限。这一设计虽独特,但在特定场景下可能面临通信效率挑战。

华为910B在机间GPU通信上未配置InfiniBand适配器,仅依赖PCIe通信,性能显著受限,通信速度相对较慢。


华为910B在CPU-GPU通信中凭借PCIe Gen5占据优势,但整体性能仍显著落后于A100。然而,华为据传已研发出类似“NVSwitch”的首代硬件,显著提升通信性能,前景可期。

5. 总结

英伟达A100芯片,承袭英伟达技术精髓,不仅深度学习AI性能出众,更在图像处理及通用计算领域展现卓越性能,全面领先行业。

英伟达H100架构革新设计,移除RT Core,以深度学习AI计算为重心,此举突破传统计算设计对深度学习性能的限制,精准切分深度学习领域的巨大市场潜力。

华为910B芯片,专为神经网络芯片NPU设计,具备超大矩阵与高带宽内存系统,矩阵运算与流水并行处理能力卓越。在深度学习场景中,尤其在GEMM计算上,其性能表现尤为突出。

华为芯片技术虽然取得了一些进步,但面临的挑战和短板同样不容忽视:

  1. 华为芯片设计卓越,但制程技术仍待提升。英伟达B架构芯片采用领先的4nm工艺,而华为910B芯片则基于7nm+技术。这一细微差距赋予英伟达芯片显著能效优势,性能卓越且能耗更低。华为需继续精进制程技术,以迎头赶上。
  2. 华为芯片设计优化亟待加强,以减少代际间的内部结构大幅变动,确保硬件兼容性与稳定性。同时,配套的API和开发工具亦需精进,以满足开发者需求,构建更为稳定、高效的开发环境。优化之路,持续进行,追求卓越。
  3. 华为NPU在机间通信能力上尚待提升,与英伟达存在明显差距。英伟达GPU凭借NVLink和NvSwitch技术,实现高速数据传输与高效并行计算,而华为NPU相关技术尚未成熟,可能在大规模计算中遭遇性能瓶颈。
  4. 华为NPU生态系统建设仍面临严峻挑战。构建强大生态需竞争力产品、丰富软件支持、广泛开发者基础及良好社区环境。华为应加大投入,吸引更多开发者和合作伙伴,共同推动NPU技术的创新与应用,共筑繁荣生态。

华为910C已迈入送测阶段,对标英伟达H100。华为自研Switch补足HCCS通信短板,更研发测试FP8精度,力推国产算力进入新时代。国产科技实力崭露头角,华为引领算力新篇章!

 

-对此,您有什么看法见解?-

-欢迎在评论区留言探讨和分享。-

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

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

相关文章

RAG 基本流程及处理技巧 with LangChain

LLM 主要存在两个问题:幻想和缺乏领域知识。领域知识缺乏的原因是因为训练 LLM 本身的知识更新慢,对特定领域的知识也没有太细致的输入。 RAG 主要是解决 LLM 缺乏领域知识的问题。底层的逻辑是:把 LLM 作为逻辑推理引擎,而不是信…

机器学习--概念理解

知识点 一、机器学习概述 人工智能 机器学习 深度学习 学习的范围:模式识别、数据挖掘、统计学习、计算机视觉、语音识别、自然语言处理 可以解决的问题:给定数据的预测问题 二、机器学习的类型 监督学习 分类 回归 无监督学习 聚类 降维 强化…

恢复的实现技术-日志和数据转储

一、引言 在系统正常运行的情况下,事务处理的恢复机制应采取某些技术措施为恢复做好相应的准备,保证在系统发生故障后,能将数据库从一个不一致的错误状态恢复到一个一致性状态 恢复技术主要包括 生成一个数据库日志,来记录系统中…

Unity制作一个简单抽卡系统(简单好抄)

业务流程:点击抽卡——>播放动画——>显示抽卡面板——>将随机结果添加到面板中——>关闭面板 1.准备素材并导入Unity中(包含2个抽卡动画,抽卡结果的图片,一个背景图片,一个你的展示图片) 2.给…

创建一个vue3+vite+ts项目

目录 创建项目 ​编辑 下载jsx 插件 在根目录在新建.env vue.config.js tsconfig.json tsconfig.node.json 下载ui组件库和路由(组件库根据自己的项目需要选择) 在根目录下新建views/index.tsx 在根目录下新建router/index.ts 修改App.vue 创建…

机器学习原理之 -- 朴素贝叶斯分类器:由来及原理详解

朴素贝叶斯(Naive Bayes)分类器是一类基于贝叶斯定理(Bayes Theorem)的简单而有效的概率分类算法。由于其假设特征之间的条件独立性,因此被称为“朴素”贝叶斯分类器。尽管这种独立性假设在现实中很少完全成立&#xf…

mac系统docker默认不支持host主机网络模式

环境描述:在mac系统上安装docker及docker-compose服务,并且打算搭建一个redis集群 问题描述:mac默认不支持host网络模式,导致集群无法通过外部主机访问 具体验证步骤: docker-compose.yml如下: version…

reactor网络模型的原理与实现

一、rector网络模型 对高并发编程,网络连接上的消息处理,可以分为两个阶段:等待消息准备好、消息处理。当使用默认的阻塞套接字时,往往是把这两个阶段合而为一,这样操作套接字的代码所在的线程就得睡眠来等待消息准备好…

Mysql常用SQL:日期转换成周_DAYOFWEEK(date)

有时候需要将查询出来的日期转换成周几,Mysql本身语法就是支持这种转换的,就是DAYOFWEEK()函数 语法格式:DAYOFWEEK(date) (date:可以是指定的具体日期( 如2024-06-29 ),也可以是日期…

为什么word生成的PDF内容显示不全?

在现代办公环境中,将文档从一个格式转换为另一个格式是一个常见的任务。然而,有时候我们可能会遇到意想不到的问题,比如使用Word转换成PDF时,生成的PDF文件只显示了整个界面的四分之一内容。这种问题不仅令人困扰,也可…

斜率优化DP——AcWing 303. 运输小猫

斜率优化DP 定义 斜率优化DP(Slope Optimization Dynamic Programming)是一种高级动态规划技巧,用于优化具有特定形式的状态转移方程。它主要应用于那些状态转移涉及求极值(如最小值或最大值)的问题中,通…

CesiumJS【Basic】- #028 天空盒

文章目录 天空盒1 目标2 代码2.1 main.ts3 资源天空盒 1 目标 配置显示天空盒 2 代码 2.1 main.ts import * as Cesium from cesium;// 创建 Cesium Viewer 并配置地形数据和天空盒 const viewer = new Cesium.Viewer(

理解抽象工厂设计模式

目录 抽象工厂模式抽象工厂模式结构抽象工厂模式适合应用场景抽象工厂模式优缺点练手题目题目描述输入描述输出描述提示信息题解 抽象工厂模式 抽象工厂模式是一种创建型设计模式, 它能创建一系列相关的对象, 而无需指定其具体类。 抽象工厂模式结构 抽…

自定义一个MyBaits脱敏插件

自定义一个MyBaits脱敏插件 用于对查询结果中的敏感数据进行脱敏处理。这个插件将拦截ResultSetHandler对象的处理结果,对某些敏感字段进行脱敏。 插件实现步骤 创建脱敏插件类。注册插件。 1. 创建脱敏插件类 首先,我们创建一个自定义插件类 DataM…

深入理解策略梯度算法

策略梯度(Policy Gradient)算法是强化学习中的一种重要方法,通过优化策略以获得最大回报。本文将详细介绍策略梯度算法的基本原理,推导其数学公式,并提供具体的例子来指导其实现。 策略梯度算法的基本概念 在强化学习…

【Python3的内置函数和使用方法】

目录 Python 特点 Python 中文编码 Python 变量类型 Python列表 Python 元组 元组是另一个数据类型,类似于 List(列表) Python 字典 Python数据类型转换 Python 运算符 Python算术运算符 Python比较运算符 Python赋值运算符 Pyt…

一篇就够了,为你答疑解惑:锂电池一阶模型-离线参数辨识(附代码)

锂电池一阶模型-参数离线辨识 背景模型简介数据收集1. 最大可用容量实验2. 开路电压实验3. 混合动力脉冲特性实验离线辨识对应模型对应代码总结下期预告文章字数有点多,耐心不够的谨慎点击阅读。 下期继续讲解在线参数辨识方法。 背景 最近又在开始重新梳理锂电池建模仿真与S…

使用stat()函数的例子

代码&#xff1a; #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include <stdio.h>int main(void) {struct stat st;if(-1stat("test.txt",&st)){printf("获得文件状态失败\n");return -1;}printf(&q…

Unidbg调用-补环境V2

1.B站 内部依赖自定义的SignedQuery对象,需要找到apk中的类并补充环境。 package com.nb.demo;import com.github.unidbg.AndroidEmulator

llama3模型部署时遇到的问题及解决方案

在llama3模型部署时&#xff0c;会遇到一系列问题&#xff0c;这里就作者所遇到的问题与解决方法分享一下。 注意&#xff1a;这里是从llama3 github主页上给的方法一步步做的&#xff0c;不适用于其他部署大模型的方法。 文章目录 ERROR 403&#xff1a;Forbidden安装依赖时出…