前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【知识】一图看懂lstopo计算机硬件拓扑图及PCI相关知识简介

【知识】一图看懂lstopo计算机硬件拓扑图及PCI相关知识简介

原创
作者头像
小锋学长生活大爆炸
发布2024-06-28 14:11:58
3330
发布2024-06-28 14:11:58
举报
文章被收录于专栏:高性能计算

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~

目录

lstopo硬件拓扑

补充知识

HostBridge和PCIBridge

HostBridge和PCIBridge的损耗

PCIe 不同版本的带宽

PCIe 版本与编码开销

GT/s跟GB/s的联系


如果要安装的话: sudo apt install hwloc hwloc-gui -y

然后: lstopo -v

lstopo硬件拓扑

图中的带宽是单向总带宽了,不是单通道带宽。

有一点需要特别注意:由于NVIDIA驱动会自动管理GPU参数,因此在空闲状态下,你看到的GPU对应的PCIe带宽是4GB/s。但实际上,当你在跑代码时候,驱动会自动把带宽拉上来,比如我下面这个图中,带宽就拉到了最高16GB/s。所以不要被迷惑了:

同理,其他比如Perf参数,默认情况下也是P8,当有任务在运行时会自动切换到P2.

补充知识

以下内容来自GPT,仅供参考。

HostBridge和PCIBridge

在计算机硬件中,HostBridgePCIBridge 是用于连接和管理不同类型硬件设备的关键组件。以下是它们的详细解释:

HostBridge(主桥)

HostBridge,也称为主桥,是连接CPU与PCI总线的桥梁。它的主要功能是将处理器与PCI总线上的设备(例如显卡、网卡、存储设备等)连接起来。HostBridge负责处理CPU与PCI设备之间的数据传输,并管理内存控制和I/O请求。

PCIBridge(PCI桥)

PCIBridge,也称为PCI桥,是用于扩展PCI总线的桥接器。它允许连接多个PCI设备,并且可以将数据在不同的PCI设备之间传输。PCIBridge主要用于扩展系统的PCI总线,以便连接更多的PCI设备。PCI桥可以是传统的PCI桥(用于标准PCI设备)或PCIe桥(用于PCI Express设备)。


HostBridge和PCIBridge的损耗

HostBridge和PCIBridge的损耗取决于多个因素,包括硬件架构、连接速度、传输数据类型等。一般来说,这种损耗包括延迟(latency)和带宽(bandwidth)限制。以下是一些常见的损耗类型及其影响因素:

HostBridge和PCIBridge的延迟

  • HostBridge延迟:HostBridge通常负责将CPU、内存和I/O设备连接在一起,它的延迟主要由系统总线速度和控制逻辑的复杂性决定。现代系统中,HostBridge的延迟一般在几十到几百纳秒之间。
  • PCIBridge延迟:PCIBridge用于将多个PCI设备连接到同一个PCI总线上。它的延迟主要由桥接芯片的设计和连接速度(如PCIe代数)决定。PCIe 3.0及以上版本的单跳延迟通常在几百纳秒到一微秒之间。

HostBridge和PCIBridge的带宽

  • HostBridge带宽:HostBridge的带宽取决于系统总线(如QPI、UPI)的带宽。现代高性能系统的总线带宽可以达到几十GB/s。
  • PCIBridge带宽:PCIBridge的带宽取决于PCIe版本和通道数。例如,PCIe 3.0 x16的理论最大带宽约为16GB/s,而PCIe 4.0 x16的理论最大带宽约为32GB/s。

实际影响因素

  1. PCIe版本:不同版本的PCIe(如PCIe 3.0、4.0、5.0)具有不同的带宽和延迟特性。较新的版本通常提供更高的带宽和更低的延迟。
  2. 通道数:PCIe通道数(如x1、x4、x8、x16)直接影响总带宽。更多的通道数意味着更高的带宽。
  3. 设备类型:不同类型的设备(如存储、网络、GPU)对带宽和延迟的要求不同。例如,GPU和高速存储设备通常需要更高的带宽和更低的延迟。
  4. 系统负载:系统负载和并发访问情况也会影响实际的延迟和带宽。例如,多设备并发访问同一个桥接器时,可能会出现带宽竞争和延迟增加。

具体数值示例

  • 延迟:现代系统中,HostBridge和PCIBridge的单跳延迟通常在几十到几百纳秒之间。PCIe 4.0的延迟通常比PCIe 3.0低。
  • 带宽:PCIe 3.0 x16的最大理论带宽为16GB/s,PCIe 4.0 x16为32GB/s,PCIe 5.0 x16为64GB/s。

PCIe 不同版本的带宽

PCIe 版本与编码开销

对于PCIe带宽,确实可能会看到一些小数点后的差异,这主要是由于数据传输的编码开销等因素导致的。

在PCIe 1.0和2.0中,数据传输使用8b/10b编码,这意味着每传输10位数据中有2位用于编码开销。因此,实际有效的数据传输速率会稍微低于理论上的最大带宽。

从PCIe 3.0开始,数据传输改用128b/130b编码,这意味着每传输130位数据中有2位用于编码开销,编码效率提高,实际有效带宽更接近理论带宽。

具体计算示例:

  • PCIe 1.0和2.0
    • 每通道带宽:2.5 GT/s(每秒2.5 GigaTransfers)
    • 8b/10b编码后实际带宽:2.5 * 0.8 = 2.0 Gbps(每秒2.0 GigaBits)
    • 转换为字节:2.0 Gbps / 8 = 0.25 GB/s(每通道)
    • x16通道:0.25 * 16 = 4 GB/s(单向)
  • PCIe 3.0
    • 每通道带宽:8 GT/s
    • 128b/130b编码后实际带宽:8 * (128/130) = 7.877 Gbps
    • 转换为字节:7.877 Gbps / 8 = 0.985 GB/s(每通道)
    • x16通道:0.985 * 16 = 15.75 GB/s(单向)
  • PCIe 4.0
    • 每通道带宽:16 GT/s
    • 128b/130b编码后实际带宽:16 * (128/130) = 15.754 Gbps
    • 转换为字节:15.754 Gbps / 8 = 1.969 GB/s(每通道)
    • x16通道:1.969 * 16 = 31.51 GB/s(单向)
  • PCIe 5.0
    • 每通道带宽:32 GT/s
    • 128b/130b编码后实际带宽:32 * (128/130) = 31.508 Gbps
    • 转换为字节:31.508 Gbps / 8 = 3.938 GB/s(每通道)
    • x16通道:3.938 * 16 = 63.02 GB/s(单向)

GT/s跟GB/s的联系

GT/s(GigaTransfers per second)和GB/s(GigaBytes per second)是衡量PCIe(Peripheral Component Interconnect Express)接口带宽的两个不同单位。GT/s表示每秒的传输次数,而GB/s表示每秒传输的数据量。为了将GT/s转换为GB/s,需要考虑编码开销和数据位宽。

转换关系

  1. 数据传输速率:PCIe传输速率以GT/s为单位,表示每秒传输的次数(或符号率)。
  2. 编码开销:PCIe不同版本采用不同的编码方式,影响有效带宽。
    • PCIe 1.0和2.0采用8b/10b编码,每10位中有2位用于开销,有效带宽为理论带宽的80%。
    • PCIe 3.0及以后采用128b/130b编码,每130位中有2位用于开销,有效带宽为理论带宽的98.46%。
  3. 数据位宽:1 Byte = 8 bits,转换时需要将比特速率(Gbps)转换为字节速率(GB/s)。

转换步骤

  1. 计算每通道的有效传输速率(Gbps)。
  2. 将Gbps转换为GB/s。

具体计算

以下是不同版本PCIe每通道(lane)的单向带宽计算:

  1. PCIe 1.0和2.0
    • 每通道:2.5 GT/s
    • 8b/10b编码有效带宽:2.5 GT/s * 0.8 = 2.0 Gbps
    • 转换为GB/s:2.0 Gbps / 8 = 0.25 GB/s
  2. PCIe 3.0
    • 每通道:8 GT/s
    • 128b/130b编码有效带宽:8 GT/s * (128/130) = 7.877 Gbps
    • 转换为GB/s:7.877 Gbps / 8 = 0.985 GB/s
  3. PCIe 4.0
    • 每通道:16 GT/s
    • 128b/130b编码有效带宽:16 GT/s * (128/130) = 15.754 Gbps
    • 转换为GB/s:15.754 Gbps / 8 = 1.969 GB/s
  4. PCIe 5.0
    • 每通道:32 GT/s
    • 128b/130b编码有效带宽:32 GT/s * (128/130) = 31.508 Gbps
    • 转换为GB/s:31.508 Gbps / 8 = 3.938 GB/s

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • lstopo硬件拓扑
  • 补充知识
    • HostBridge和PCIBridge
      • HostBridge和PCIBridge的损耗
        • PCIe 不同版本的带宽
          • PCIe 版本与编码开销
            • GT/s跟GB/s的联系
            相关产品与服务
            GPU 云服务器
            GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于生成式AI,自动驾驶,深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档