【LLM】大模型算力基础设施——核心硬件GPU/TPU,架构技术NVLink/RDMA,性能指标FP64/FLOPS(NVIDIA Tesla型号表)

【LLM】大模型算力基础设施——核心硬件GPU/TPU,架构技术NVLink/RDMA,性能指标FP64/FLOPS(NVIDIA Tesla型号表)

文章目录

    • 1、核心硬件GPU/TPU,NVIDIA Tesla
    • 2、集群架构设计 NVLink / RDMA / Alluxio
    • 3、性能关键指标,FP64 / FLOPS

1、核心硬件GPU/TPU,NVIDIA Tesla

核心硬件 chip

  • GPU(图形处理器)
    代表:NVIDIA A100/H100、AMD MI300X
    优势:万级CUDA核心(A100含6912个核心),显存带宽达2TB/s(H100),支持TF32/FP64混合精度计算
    适用场景:深度学习训练、大规模并行计算
  • TPU(张量处理器)
    代表型号:谷歌 v4版本达275 TFLOPS(BF16)
    特点:脉动阵列架构优化矩阵运算,片上内存集成(减少数据搬运延迟)
  • ASIC(专用 chip )
    Tesla Dojo(1.1 EFLOPS算力集群)
  • FPGA(现场可编程门阵列)
    应用:微软Brainwave项目
    优势:低延迟推理(可编程逻辑单元实现定制化计算)
  • CPU协同计算
    AMD EPYC 9754(128核Zen4架构)
    Intel Sapphire Rapids(AMX指令集加速AI)

NVIDIA 显卡型号

  • NVIDIA将显示核心分为三大系列。GeForce个人家用;Quadro专业绘图设计;Tesla大规模的并联电脑运算。 1

  • Tesla类型: 1
    K-Series(Kepler架构2012):K8、K10、K20c、K20s、K20m、K20Xm、K40t、K40st、K40s、K40m、K40c、K520、K80
    P-Series(Pascal架构2016):P4、P6、P40、P100
    V-Series(Volta架构2017):V100
    T-Series(Turing架构2018):T4
    A-Series(Ampere架构2020):A10、A16、A30、A40、A100、A800
    H-Series(Hopper架构2022): H20,H100,H200
    L-Series(Ada Lovelace架构2023):L40,L4,L20

  • Quadro类型
    NVIDIA RTX Series:RTX A2000、RTX A4000、RTX A4500、RTX A5000、RTX A6000
    Quadro RTX Series:RTX 3000、RTX 4000、RTX 5000、RTX 6000、RTX 8000

  • GeForce类型
    Geforce 10:GTX 1050、GTX 1050Ti、GTX 1060、GTX 1070、GTX 1070Ti、GTX 1080、GTX 1080Ti
    Geforce 16:GTX 1650、GTX 1650 Super、GTX 1660、GTX 1660 Super、GTX 1660Ti
    Geforce 20:RTX 2060、RTX 2060 Super、RTX 2070、RTX 2070 Super、RTX 2080、RTX 2080 Super、RTX 2080Ti
    Geforce 30:RTX 3050、RTX 3060、RTX 3060Ti、RTX 3070、RTX 3070Ti、RTX 3080、RTX 3080Ti、RTX 3090 RTX 3090Ti
    Geforce 40:RTX 4090 …
    Geforce 50:RTX 5090 …
    显卡天梯图 :1, 2, 3

  • 通用的 GPU 中包含三种核心
    分别是 CUDA Core、Tensor Core 和 RT Core,这三种核心各自具有不同的特性和功能。
    CUDA Core:CUDA Core 是用于通用并行计算任务的计算核心,可以执行单精度和双精度浮点运算,以及整数运算。它在处理广泛的并行计算任务方面非常高效。
    Tensor Core:Tensor Core 是针对深度学习和 AI 工作负载而设计的专用核心,可以实现混合精度计算并加速矩阵运算,尤其擅长处理半精度(FP16)和全精度(FP32)的矩阵乘法和累加操作。Tensor Core 在加速深度学习训练和推理中发挥着重要作用。
    RT Core:RT Core 是专门用于光线追踪处理的核心,能够高速进行光线和声音的渲染,对于图形渲染和光线追踪等任务具有重要意义
    在这里插入图片描述
    在这里插入图片描述

nvidia Tesla近3年型号(含A100, A800, H800, H100, H200, H20, L2, L20)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

参考资料:1, 2

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2、集群架构设计 NVLink / RDMA / Alluxio

集群架构设计

  • NVLink全互联(计算)
    NVIDIA DGX H100:8卡通过NVLink 4.0互联(900GB/s带宽)
    避免PCIe瓶颈(传统x16仅64GB/s)

  • InfiniBand网络 网络
    NDR 400G标准(延迟<1μs)
    GPUDirect RDMA技术(数据直达GPU显存) 什么是RDMA技术 2 3

  • 存储加速方案 存储
    非易失内存(NVDIMM):持久化参数存储
    分布式缓存(如Alluxio):加速数据管道
    共享对象存储,文件存储

技术栈选型

  • 计算加速库
    CUDA 12.3(支持动态并行)
    oneAPI 2024(统一CPU/GPU/FPGA编程)
  • 框架优化
    PyTorch 2.3(编译式执行图)
    TensorFlow Lite(稀疏化推理)
  • 调度系统
    Kubernetes + Kubeflow(弹性扩缩容)
    Slurm(超算级作业调度)

NVLink全互联技术

  • NVLink是NVIDIA开发的GPU间高速互连技术,旨在突破PCIe带宽限制,实现多GPU之间的低延迟、高带宽数据交换。
  • 带宽:第三代NVLink单链路达50GB/s(双向),远高于PCIe 4.0 x16(32GB/s)。
    拓扑灵活性:支持全互联(All-to-All)、网状(Mesh)、混合连接。
    统一内存:支持GPU显存池化(NVLink Shared Memory)。
  • 全互联模式下,每块GPU通过NVLink直接与其他所有GPU相连,实现最优通信效率。
    在这里插入图片描述
# 查看NVLink链路激活情况
nvidia-smi topo -mGPU0    GPU1    GPU2    GPU3    GPU4    GPU5    GPU6    GPU7
GPU0     X      NV12    NV12    NV12    NV12    NV12    NV12    NV12
GPU1    NV12     X      NV12    NV12    NV12    NV12    NV12    NV12
...  
("NV12"表示12条NVLink链路激活)# 设置环境变量启用GPU显存池化
export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
export CUDA_MPS_PIPE_DIRECTORY=/tmp/nvidia-mps
export CUDA_MPS_LOG_DIRECTORY=/tmp/nvidia-log
nvidia-cuda-mps-control -d# PyTorch:自动检测NVLink,需确保数据并行时使用nccl后端。
torch.distributed.init_process_group(backend='nccl')nvidia-smi dmon -s pucvmt  # 监控NVLink带宽利用率
nvidia-smi # 查看利用率,链路状态

GPUDirect RDMA技术

  • GPUDirect RDMA(Remote Direct Memory Access)是NVIDIA开发的一项技术,允许第三方设备(如网卡、存储设备)绕过CPU,直接通过PCIe总线访问GPU显存,从而显著降低数据传输延迟并提升带宽利用率。
  • 核心目标:消除CPU和系统内存的拷贝开销,加速GPU与外部设备(如InfiniBand网卡、NVMe SSD)间的数据交换。
  • 典型应用:分布式AI训练、高性能计算(HPC)、实时数据处理。
    在这里插入图片描述
# 安装NVIDIA驱动和CUDA
sudo apt install nvidia-driver-530 cuda-12.2
# 安装RDMA驱动(MLNX_OFED)
wget https://www.mellanox.com/downloads/ofed/MLNX_OFED-5.8-3.0.7.0/MLNX_OFED_LINUX-5.8-3.0.7.0-ubuntu22.04-x86_64.tgz
tar -xzvf MLNX_OFED-*.tgz && cd MLNX_OFED-* && sudo ./mlnxofedinstall# 启用GPUDirect RDMA:
# 检查GPU和网卡是否支持
nvidia-smi topo -m  # 确认GPU与网卡是"PIX"或"PHB"连接# 加载内核模块
sudo modprobe nv_peer_mem
sudo service openibd restart# 安装支持GPUDirect的OpenMPI
./configure --with-cuda=/usr/local/cuda --with-rdma=/usr/mellanox
make -j8 && sudo make install# 运行测试(需GPU-aware MPI)
mpirun -np 2 --mca btl_openib_want_cuda_gdr 1 ./your_gpu_app# 开发
// 1. 分配GPU显存并获取IPC句柄
cudaIpcMemHandle_t handle;
void* d_ptr;
cudaMalloc(&d_ptr, size);
cudaIpcGetMemHandle(&handle, d_ptr);
// 2. 在另一进程/节点打开显存
void* remote_ptr;
cudaIpcOpenMemHandle(&remote_ptr, handle, cudaIpcMemLazyEnablePeerAccess);
// 3. 通过RDMA网卡直接读写remote_ptr(需MPI或自定义通信层)

Alluxio 技术

  • Alluxio 是一个开源的 内存级虚拟分布式存储系统,充当计算框架(如Spark、Flink)和底层存储系统(如HDFS、S3、OSS)之间的抽象层
    加速数据访问:通过内存缓存、数据本地化优化,减少I/O瓶颈。
    统一命名空间:整合多种存储系统(HDFS/S3/NFS等),提供透明访问接口。
    数据共享:支持多计算框架(Spark/Presto/MapReduce)共享同一份缓存数据。
  • LLM 训练需反复读取TB级文本数据(如Common Crawl)
  • 1.Alluxio可以加速训练数据加载
    如将远程存储(如S3)的数据缓存在训练集群本地内存/SSD中,减少数据加载延迟。
    同时支持预热缓存(Preload),在训练开始前主动加载数据,避免I/O等待。
  • 2.可以共享中间数据
    多个训练任务(如超参搜索)需共享预处理后的数据集或检查点。
    提供 统一命名空间,避免数据重复拷贝到各计算节点。通过内存缓存加速检查点(Checkpoint)的读写,缩短恢复时。
  • 3.混合云数据桥接
    训练数据在私有HDFS,但计算集群在公有云。缓存私有数据到云上Alluxio节点,避免跨数据中心传输。
    在这里插入图片描述

# 下载Alluxio(以2.9.3为例)
wget https://downloads.alluxio.io/downloads/files/2.9.3/alluxio-2.9.3-bin.tar.gz
tar -xzf alluxio-2.9.3-bin.tar.gz
cd alluxio-2.9.3# 配置底层存储(如S3)
cp conf/alluxio-site.properties.template conf/alluxio-site.properties
echo "alluxio.master.mount.table.root.ufs=s3://your-bucket/path" >> conf/alluxio-site.properties# 启动集群
./bin/alluxio format
./bin/alluxio-start.sh local# 预加载S3数据到Alluxio缓存
alluxio fs load /s3/dataset
# PyTorch直接读取Alluxio缓存中的检查点
checkpoint = torch.load("alluxio://master:19998/checkpoints/model.pt")# 在每台Worker节点配置缓存路径(内存+SSD)
echo "alluxio.worker.ramdisk.size=100GB" >> conf/alluxio-site.properties
echo "alluxio.worker.tieredstore.levels=2" >> conf/alluxio-site.propertiesfrom torch.utils.data import DataLoader
from alluxiofs import AlluxioFileSystem  # Alluxio的POSIX接口# 挂载Alluxio为本地路径(通过FUSE)
fs = AlluxioFileSystem("alluxio://master:19998")
fs.mount("/mnt/alluxio")# 直接读取缓存数据
dataset = HuggingFaceDataset("/mnt/alluxio/dataset")
dataloader = DataLoader(dataset, batch_size=32)# 查看缓存命中率(确保热数据在内存中)
alluxio fsadmin report

3、性能关键指标,FP64 / FLOPS

算力单位:浮点运算次数 FLOPS

  • (Floating Point Operations Per Second,简称FLOPS) 是用来衡量计算设备执行浮点运算能力的指标。
    这个指标通常用来描述处理器(CPU)、图形处理器(GPU)或其他计算设备在一秒钟内能够执行多少次浮点运算。
    浮点运算是指能够处理带有小数点的数学运算,这对于科学计算、工程模拟、图形渣染等领域尤为重要。

  • FP(Float PerSecond) = FLOPS(Floating Point Operations Per Second)
    单位:K=>M=>G=>T=>P=>E
    FP32:单精度浮点(训练基线)
    FP16:半精度(主流训练/推理混合精度)
    FP8:NVIDIA H100新增格式(推理加速3x)
    INT8/INT4:整数量化(推理专用,INT8吞吐量可达FP16的2倍)
    在这里插入图片描述

  • 精度降低
    FP32 → FP16:吞吐量2x↑,精度损失<1%
    FP16 → INT8:吞吐量再2x↑,需校准量化(Quantization Aware Training)
    INT8 → INT4:极致压缩(适用于NLP模型如BERT)

其他指标

  • PCIe带宽:
    Gen4 x16 = 32GB/s(可能成为多卡互联瓶颈)
    Gen5 x16 = 64GB/s(H100标配)

训练场景 vs 推理场景

  • 算力密度:推理需在单位时间内完成更多请求(如自动驾驶的毫秒级响应)
  • 显存容量:训练时需保留反向传播的中间结果,推理只需前向计算(如175B参数的GPT-3训练需1.6TB显存,推理仅需~80GB)
  • 精度要求:推理可通过量化牺牲少量精度换取吞吐量提升(如TensorRT的INT8量化技术)
  • 能效比:推理部署在边缘设备,因此需要低功耗
    在这里插入图片描述
指标训练场景要求推理场景要求
算力密度>50T FLOPS/卡>200T FLOPS/卡
显存容量80GB+(HBM2e)16-48GB(GDDR6X)
互联带宽600GB/s+200GB/s+
能效比<500W/TFLOPS<100W/FLOPS

参考资料:1, 2, 3, 4, 5

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

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

相关文章

spark的Standalone模式介绍

Apache Spark 的 Standalone 模式是其自带的集群管理模式&#xff0c;无需依赖外部资源管理器&#xff08;如 YARN 或 Mesos&#xff09;&#xff0c;可快速部署和运行 Spark 集群。以下是对 Standalone 模式的详细介绍&#xff1a; 1. 核心组件 Master 节点 集群的主控制器…

YOLOv7训练时4个类别只出2个类别

正常是4个类别&#xff1a; 但是YOLOv7训练完后预测总是只有两个类别&#xff1a; 而且都是LFM和SFM 我一开始检查了下特征图大小&#xff0c;如果输入是640*640的话&#xff0c;三个尺度特征图是80*80,40*40,20*20&#xff1b;如果输入是416*416的话&#xff0c;三个尺度特征…

【Unity】用事件广播的方式实现游戏暂停,简单且实用!

1.前言 在做Unity项目的时候&#xff0c;要考虑到“游戏暂停”的功能&#xff0c;最直接的办法是修改游戏的Time.TimeScale 0f。但是这种方式的影响也比较大&#xff0c;因为它会导致游戏中很多程序无法正常运行。 于是我就有了一个想法&#xff0c;在游戏中想要暂停的对象&…

Suna: 开源多面手 AI 代理

GitHub&#xff1a;GitHub - kortix-ai/suna: Suna - Open Source Generalist AI Agent 更多AI开源软件&#xff1a;发现分享好用的AI工具、AI开源软件、AI模型、AI变现 - 小众AI Suna 是一个完全开源的 AI 助手&#xff0c;可帮助您轻松完成实际任务。通过自然对话&#xff0c…

直接从图片生成 html

1. 起因&#xff0c; 目的: 无意间碰到一个网站: https://wise.com/zh-cn/currency-converter/brl-to-cny-rate其实我就是想搜一下巴西的货币单位是什么。这个网站的设计很漂亮&#xff0c; 尤其是颜色搭配很不错&#xff0c;讨人喜欢。所以我想让 AI 帮我生成类似的效果。本文…

验证码与登录过程逻辑学习总结

目录 前言 一、验证码与登录 二、使用步骤 1.先apipost测试一波 2.先搞验证码 3.跨域问题 4.后端走起 总结 前言 近期要做一个比较完整的demo&#xff0c;需要自己做一个前端登录页面&#xff0c;不过api接口都是现成的&#xff0c;一开始以为过程会很easy&#xff0c;…

轨道炮--范围得遍历,map巧统计

1.思路很难想&#xff0c;但代码一看一下就明白了&#xff0c;就是模拟时间&#xff0c;map存起来遍历也不受10*6影响 2.每次先统计点对应的直线&#xff0c;再动这个点&#xff0c;map一遍历实时更新ma统计max&#xff0c;AC!!!! https://www.luogu.com.cn/problem/P8695 #i…

Vue 3.5 新特性深度解析:全面升级的开发体验

Vue 3.5 新特性深度解析&#xff1a;全面升级的开发体验 前言 随着Vue 3.5的正式发布&#xff0c;这个渐进式JavaScript框架再次带来了令人兴奋的改进。本文将深入剖析Vue 3.5的核心更新&#xff0c;帮助开发者快速掌握新特性并应用于实际项目。 ✨ 核心新特性 1. 增强的响应…

质量管理工程师面试总结

今天闲着无聊参加了学校招聘会的一家双选会企业&#xff0c;以下是面试的过程。 此次面试采用的是一对多的形式。&#xff08;此次三个求职者&#xff0c;一个面试官&#xff09; 面试官&#xff1a;开始你们每个人先做个自我介绍吧。 哈哈哈哈哈哈哈哈&#xff0c;其实我们…

c++ std库中的文件操作学习笔记

1. 概述 C标准库提供了 头文件中的几个类来进行文件操作&#xff0c;这些类封装了底层的文件操作&#xff0c;提供了面向对象和类型安全的接口&#xff0c;使得文件读写更加便捷和高效。主要的文件流类包括&#xff1a; std::ifstream&#xff1a;用于从文件中读取数据。 st…

【网络安全】SQL注入

如果文章不足还请各位师傅批评指正&#xff01; 想象一下&#xff0c;你经营着一家咖啡店&#xff0c;顾客可以通过店内的点单系统下单。这个系统会根据顾客的输入&#xff0c;向后厨发送指令&#xff0c;比如“为顾客A准备一杯拿铁”。 然而&#xff0c;如果有个不怀好意的顾客…

解决Mawell1.29.2启动SQLException: You have an error in your SQL syntax问题

问题背景 此前在openEuler24.03 LTS环境下的Hive使用了MySQL8.4.2&#xff0c;在此环境下再安装并启动Maxwell1.29.2时出现如下问题 [ERROR] Maxwell: SQLException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version f…

Oracle APEX IR报表列宽调整

目录 1. 问题&#xff1a;如何调整Oracle APEX IR报表列宽 2. 解决办法 1. 问题&#xff1a;如何调整Oracle APEX IR报表列宽 1-1. 防止因标题长而数据短&#xff0c;导致标题行的文字都立起来了&#xff0c;不好看。 1-2. 防止因数据太长而且中间还没有空格&#xff0c;把列…

pytorch 14.3 Batch Normalization综合调参实践

文章目录 一、Batch Normalization与Batch_size综合调参二、复杂模型上的Batch_normalization表现1、BN对复杂模型&#xff08;sigmoid&#xff09;的影响2、模型复杂度对模型效果的影响3、BN对复杂模型&#xff08;tanh&#xff09;的影响 三、包含BN层的神经网络的学习率优化…

Model.eval() 与 torch.no_grad() PyTorch 中的区别与应用

Model.eval() 与 torch.no_grad(): PyTorch 中的区别与应用 在 PyTorch 深度学习框架中&#xff0c;model.eval() 和 torch.no_grad() 是两个在模型推理&#xff08;inference&#xff09;阶段经常用到的函数&#xff0c;它们各自有着独特的功能和应用场景。本文将详细解析这两…

Swagger go中文版本手册

Swaggo(github.com/swaggo/swag)的注解语法是基于 OpenAPI 2.0 (以前称为 Swagger 2.0) 规范的,并添加了一些自己的约定。 主要官方文档: swaggo/swag GitHub 仓库: 这是最权威的来源。 链接: https://github.com/swaggo/swag重点关注: README.md: 包含了基本的安装、使用…

物联网设备远程管理:基于代理IP的安全固件更新通道方案

在物联网设备远程管理中&#xff0c;固件更新的安全性直接关系到设备功能稳定性和系统抗攻击能力。结合代理IP技术与安全协议设计&#xff0c;可构建安全、高效的固件更新通道。 一、代理IP在固件更新中的核心作用 网络层隐匿与路由优化 隐藏更新源服务器&#xff1a;通过代理I…

【C++重载操作符与转换】句柄类与继承

目录 一、句柄类的基本概念 1.1 什么是句柄类 1.2 句柄类的设计动机 1.3 句柄类的基本结构 二、句柄类的实现方式 2.1 基于指针的句柄类 2.2 值语义的句柄类 2.3 引用计数的句柄类 三、句柄类与继承的结合应用 3.1 实现多态容器 3.2 实现插件系统 3.3 实现状态模式…

谷歌曾经的开放重定向漏洞(如今已经修复) -- noogle DefCamp 2024

题目描述: 上周&#xff0c;我决定创建自己的搜索引擎。这有点难&#xff0c;所以我背上了另一个。我也在8000端口上尝试了一些东西。 未发现题目任何交互,但是存在一个加密js const _0x43a57f _0x22f9; (function(_0x3d7d57, _0x426e05) {const _0x16c3fa _0x22f9, _0x3187…

【C#】ToArray的使用

在 C# 中&#xff0c;ToArray 方法通常用于将实现了 IEnumerable<T> 接口的集合&#xff08;如 List<T>&#xff09;转换为数组。这个方法是 LINQ 提供的一个扩展方法&#xff0c;位于 System.Linq 命名空间中。因此&#xff0c;在使用 ToArray 方法之前&#xff0…