【教程】查看CPU、GPU架构的拓扑结构和系统信息

转载请注明出处:小锋学长生活大爆炸xfxuezhang.cn

一些概念

  • Package:处理器封装。在多处理器系统中,每个物理 CPU 芯片通常被封装在一个单独的封装中,这个封装被称为 Package。一个 Package 可以包含一个或多个物理 CPU 核心。每个 Package 通常连接到一个或多个内存控制器,以提供对系统内存的访问。
  • NUMA Node :NUMA 节点。NUMANode 是 NUMA 架构中的一个重要概念。在 NUMA 架构中,系统内存 被划分为多个 NUMA Node。每个 NUMA Node 包含与之关联的一部分系统内存和一组 CPU 核心。NUMA Node 是处理器和内存的逻辑组合,它们共享一定的物理资源,如内存控制器和高速缓存。
  • Socket :插槽。通常用于描述物理 CPU 芯片的插槽或座槽,它是在主板上插入 CPU 芯片的物理接口。家用 PC 通常为单 socket,服务器通常可支持 2 socket,也有 4 或者 8 socket。不同的 socket 之间通常通过高速总线连接。
  • NUMA affinity :NUMA 亲和性。指的是将任务或进程与特定 NUMA 节点相关联的能力。通过设置 NUMA affinity,可以指定任务在特定 NUMA 节点上运行,以最大程度地减少远程内存访问和提高性能。当一个任务与特定 NUMA 节点相关联时,它将更有可能使用与该节点关联的本地内存。本地内存是指与任务运行在同一 NUMA 节点上的 CPU 相关联的内存。这种本地内存访问速度更快,因为它与 CPU 直接相连,而远程内存访问则需要通过跨节点的内存互连进行访问,速度较慢。
  • CPU Affinity :CPU亲和性。指的是将特定的计算任务或进程与特定的CPU核心或CPU组进行关联的能力。它用于指定将任务分配给哪个CPU核心或一组CPU核心来执行。通过设置CPU Affinity,可以控制任务在多核系统中的调度和执行方式,以优化性能或满足特定的需求。
  • Root Complex :一个PCIe总线结构中的顶级主机桥。它通常位于CPU芯片上,负责连接CPU与其他设备,如GPU、网卡、存储控制器等。Root complex是整个PCIe总线层次结构的起点,它通过PCIe连接到其他设备或桥接器,形成一个扩展的PCIe网络。Root complex扮演着PCIe总线的控制器角色,它管理和协调数据流经过PCIe总线的交互。它负责在不同的PCIe设备之间进行数据传输和通信,以及处理地址分配和DMA(直接内存访问)请求。
  • PCIe:是一种高速串行扩展总线标准,用于在计算机系统中连接各种外部设备和扩展卡。它是 PCI总线的一种进化和替代。PCIe 总线采用串行数据传输,相比于并行传输的 PCI 总线,具有更高的带宽和更低的延迟。它是现代计算机系统中常用的连接标准,用于连接GPU、网络适配器、存储控制器、声卡等各种设备。PCIe 标准定义了不同的物理插槽尺寸和版本,例如 PCIe x1、PCIe x4、PCIe x8 和 PCIe x16,表示不同的物理通道数量和带宽。PCIe 还支持多代链接和多级拓扑结构,以满足更高的性能需求和系统配置。

拓扑结构

  • 查看NUMA节点数、socket数、核心数、每个socket的核心数、每个核心的线程数等信息

    lscpu

因此,有2个物理插槽+2块CPU,每块CPU插在一个插槽里。每块CPU有20个核心,每个核心有2个超线程。主板型号为Intel,NUDA使用连续编号方式,每个NUMA节点分到2组CPU核心。

  • 查看GPU拓扑结构

    nvidia-smi topo -m

因此,GPU0、GPU1、GPU2连接到了同一个PCIe Switch上;GPU3、NIC0、NIC1连接到了另一个PCIe Switch上。并且,这两个PCIe switch连在同一个CPU的两个Root Complex下;

  • 查看GPU信息

    nvidia-smi

  • 查看GPU对应PCIe的版本

    nvidia-smi -q

  • 查看硬件连接

    sudo apt install hwloc

    lstopo

系统信息

复制代码
sudo apt install hardinfo

hardinfo

可以查看系统的各类硬件信息。

相关推荐
2035去旅行23 分钟前
ADB的底层原理
linux·adb·嵌入式·arm·soc
武子康29 分钟前
单卡 A6000 跑 Qwen-Drive:怎样留下可比较的第一条基线?
linux·人工智能·深度学习
女神下凡36 分钟前
芯参谋(107):杰理AC_中科蓝讯_开发指南
linux·服务器·网络·单片机·嵌入式硬件
落羽的落羽42 分钟前
【C++】C++17的主要特性
linux·服务器·开发语言·c++·算法·机器学习
一条Go4 小时前
接收方合并去重:同一个人为什么只该收到一次通知
后端·架构·github
吴建旭 智宅焕4 小时前
智能家居全国交付标准化架构的轻重分离设计:重勘测节点与轻执行流程的系统实现
架构·智能家居
flash俊杰4 小时前
v0.5-01 让桌面 AI 助手记得住:预算组装、递归摘要、长期记忆与评估基线
数据库·安全·架构
leo在掘金4 小时前
只挂了11小时,5000台开发机被塞进SSH公钥
后端·架构
爱和冰阔落5 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
HelloWorld0015 小时前
告警不是心疼 token,是根因没找对:把 400 条告警压成 1 条根因的归因管道实战
架构