← Documents Documentation/admin-guide/perf/nvidia-pmu.rst GitHub 원문 ↗

Linux 6.18.37 · Administration / Performance

NVIDIA Tegra SoC Uncore PMU

NVIDIA SCF, NVLink-C2C, CNVLink, PCIE PMU와 Grace traffic coverage를 설명합니다.

Source pathDocumentation/admin-guide/perf/nvidia-pmu.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

운영 요약

nvidia-pmu.rst:1-333

Traffic source, destination, translation 상태와 chip configuration을 먼저 구분한 뒤 SCF, C2C0, C2C1, CNVLink, PCIE PMU를 선택하고 socket/port bitmap을 적용합니다.

관점핵심
PlatformNVIDIA Tegra SoC, Grace Hopper/Grace CPU configurations
PMUsSCF, NVLink-C2C0, NVLink-C2C1, CNVLink, PCIE
MetricsMemory bandwidth, latency, utilization
ArchitectureARM CoreSight PMU Architecture, ARM IHI 0091
Driver`arm-cs-arch-pmu`
Filters`port`, `rem_socket`, `root_port` bitmaps

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 =========================================================
2 NVIDIA Tegra SoC Uncore Performance Monitoring Unit (PMU)
3 =========================================================
4
5 The NVIDIA Tegra SoC includes various system PMUs to measure key performance
6 metrics like memory bandwidth, latency, and utilization:
7
8 * Scalable Coherency Fabric (SCF)
9 * NVLink-C2C0
10 * NVLink-C2C1
11 * CNVLink
12 * PCIE
13
14 PMU Driver
15 ----------
16
17 The PMUs in this document are based on ARM CoreSight PMU Architecture as
18 described in document: ARM IHI 0091. Since this is a standard architecture, the
19 PMUs are managed by a common driver "arm-cs-arch-pmu". This driver describes
20 the available events and configuration of each PMU in sysfs. Please see the
21 sections below to get the sysfs path of each PMU. Like other uncore PMU drivers,
22 the driver provides "cpumask" sysfs attribute to show the CPU id used to handle
23 the PMU event. There is also "associated_cpus" sysfs attribute, which contains a
24 list of CPUs associated with the PMU instance.
25
26 .. _SCF_PMU_Section:
27
28 SCF PMU
29 -------
30
31 The SCF PMU monitors system level cache events, CPU traffic, and
32 strongly-ordered (SO) PCIE write traffic to local/remote memory. Please see
33 :ref:`NVIDIA_Uncore_PMU_Traffic_Coverage_Section` for more info about the PMU
34 traffic coverage.
35
36 The events and configuration options of this PMU device are described in sysfs,
37 see /sys/bus/event_source/devices/nvidia_scf_pmu_<socket-id>.
38
39 Example usage:
40
41 * Count event id 0x0 in socket 0::
42
43 perf stat -a -e nvidia_scf_pmu_0/event=0x0/
44
45 * Count event id 0x0 in socket 1::
46
47 perf stat -a -e nvidia_scf_pmu_1/event=0x0/
48
49 NVLink-C2C0 PMU
50 --------------------
51
52 The NVLink-C2C0 PMU monitors incoming traffic from a GPU/CPU connected with
53 NVLink-C2C (Chip-2-Chip) interconnect. The type of traffic captured by this PMU
54 varies dependent on the chip configuration:
55
56 * NVIDIA Grace Hopper Superchip: Hopper GPU is connected with Grace SoC.
57
58 In this config, the PMU captures GPU ATS translated or EGM traffic from the GPU.
59
60 * NVIDIA Grace CPU Superchip: two Grace CPU SoCs are connected.
61
62 In this config, the PMU captures read and relaxed ordered (RO) writes from
63 PCIE device of the remote SoC.
64
65 Please see :ref:`NVIDIA_Uncore_PMU_Traffic_Coverage_Section` for more info about
66 the PMU traffic coverage.
67
68 The events and configuration options of this PMU device are described in sysfs,
69 see /sys/bus/event_source/devices/nvidia_nvlink_c2c0_pmu_<socket-id>.
70
71 Example usage:
72
73 * Count event id 0x0 from the GPU/CPU connected with socket 0::
74
75 perf stat -a -e nvidia_nvlink_c2c0_pmu_0/event=0x0/
76
77 * Count event id 0x0 from the GPU/CPU connected with socket 1::
78
79 perf stat -a -e nvidia_nvlink_c2c0_pmu_1/event=0x0/
80
81 * Count event id 0x0 from the GPU/CPU connected with socket 2::
82
83 perf stat -a -e nvidia_nvlink_c2c0_pmu_2/event=0x0/
84
85 * Count event id 0x0 from the GPU/CPU connected with socket 3::
86
87 perf stat -a -e nvidia_nvlink_c2c0_pmu_3/event=0x0/
88
89 The NVLink-C2C has two ports that can be connected to one GPU (occupying both
90 ports) or to two GPUs (one GPU per port). The user can use "port" bitmap
91 parameter to select the port(s) to monitor. Each bit represents the port number,
92 e.g. "port=0x1" corresponds to port 0 and "port=0x3" is for port 0 and 1. The
93 PMU will monitor both ports by default if not specified.
94
95 Example for port filtering:
96
97 * Count event id 0x0 from the GPU connected with socket 0 on port 0::
98
99 perf stat -a -e nvidia_nvlink_c2c0_pmu_0/event=0x0,port=0x1/
100
101 * Count event id 0x0 from the GPUs connected with socket 0 on port 0 and port 1::
102
103 perf stat -a -e nvidia_nvlink_c2c0_pmu_0/event=0x0,port=0x3/
104
105 NVLink-C2C1 PMU
106 -------------------
107
108 The NVLink-C2C1 PMU monitors incoming traffic from a GPU connected with
109 NVLink-C2C (Chip-2-Chip) interconnect. This PMU captures untranslated GPU
110 traffic, in contrast with NvLink-C2C0 PMU that captures ATS translated traffic.
111 Please see :ref:`NVIDIA_Uncore_PMU_Traffic_Coverage_Section` for more info about
112 the PMU traffic coverage.
113
114 The events and configuration options of this PMU device are described in sysfs,
115 see /sys/bus/event_source/devices/nvidia_nvlink_c2c1_pmu_<socket-id>.
116
117 Example usage:
118
119 * Count event id 0x0 from the GPU connected with socket 0::
120
121 perf stat -a -e nvidia_nvlink_c2c1_pmu_0/event=0x0/
122
123 * Count event id 0x0 from the GPU connected with socket 1::
124
125 perf stat -a -e nvidia_nvlink_c2c1_pmu_1/event=0x0/
126
127 * Count event id 0x0 from the GPU connected with socket 2::
128
129 perf stat -a -e nvidia_nvlink_c2c1_pmu_2/event=0x0/
130
131 * Count event id 0x0 from the GPU connected with socket 3::
132
133 perf stat -a -e nvidia_nvlink_c2c1_pmu_3/event=0x0/
134
135 The NVLink-C2C has two ports that can be connected to one GPU (occupying both
136 ports) or to two GPUs (one GPU per port). The user can use "port" bitmap
137 parameter to select the port(s) to monitor. Each bit represents the port number,
138 e.g. "port=0x1" corresponds to port 0 and "port=0x3" is for port 0 and 1. The
139 PMU will monitor both ports by default if not specified.
140
141 Example for port filtering:
142
143 * Count event id 0x0 from the GPU connected with socket 0 on port 0::
144
145 perf stat -a -e nvidia_nvlink_c2c1_pmu_0/event=0x0,port=0x1/
146
147 * Count event id 0x0 from the GPUs connected with socket 0 on port 0 and port 1::
148
149 perf stat -a -e nvidia_nvlink_c2c1_pmu_0/event=0x0,port=0x3/
150
151 CNVLink PMU
152 ---------------
153
154 The CNVLink PMU monitors traffic from GPU and PCIE device on remote sockets
155 to local memory. For PCIE traffic, this PMU captures read and relaxed ordered
156 (RO) write traffic. Please see :ref:`NVIDIA_Uncore_PMU_Traffic_Coverage_Section`
157 for more info about the PMU traffic coverage.
158
159 The events and configuration options of this PMU device are described in sysfs,
160 see /sys/bus/event_source/devices/nvidia_cnvlink_pmu_<socket-id>.
161
162 Each SoC socket can be connected to one or more sockets via CNVLink. The user can
163 use "rem_socket" bitmap parameter to select the remote socket(s) to monitor.
164 Each bit represents the socket number, e.g. "rem_socket=0xE" corresponds to
165 socket 1 to 3. The PMU will monitor all remote sockets by default if not
166 specified.
167 /sys/bus/event_source/devices/nvidia_cnvlink_pmu_<socket-id>/format/rem_socket
168 shows the valid bits that can be set in the "rem_socket" parameter.
169
170 The PMU can not distinguish the remote traffic initiator, therefore it does not
171 provide filter to select the traffic source to monitor. It reports combined
172 traffic from remote GPU and PCIE devices.
173
174 Example usage:
175
176 * Count event id 0x0 for the traffic from remote socket 1, 2, and 3 to socket 0::
177
178 perf stat -a -e nvidia_cnvlink_pmu_0/event=0x0,rem_socket=0xE/
179
180 * Count event id 0x0 for the traffic from remote socket 0, 2, and 3 to socket 1::
181
182 perf stat -a -e nvidia_cnvlink_pmu_1/event=0x0,rem_socket=0xD/
183
184 * Count event id 0x0 for the traffic from remote socket 0, 1, and 3 to socket 2::
185
186 perf stat -a -e nvidia_cnvlink_pmu_2/event=0x0,rem_socket=0xB/
187
188 * Count event id 0x0 for the traffic from remote socket 0, 1, and 2 to socket 3::
189
190 perf stat -a -e nvidia_cnvlink_pmu_3/event=0x0,rem_socket=0x7/
191
192
193 PCIE PMU
194 ------------
195
196 The PCIE PMU monitors all read/write traffic from PCIE root ports to
197 local/remote memory. Please see :ref:`NVIDIA_Uncore_PMU_Traffic_Coverage_Section`
198 for more info about the PMU traffic coverage.
199
200 The events and configuration options of this PMU device are described in sysfs,
201 see /sys/bus/event_source/devices/nvidia_pcie_pmu_<socket-id>.
202
203 Each SoC socket can support multiple root ports. The user can use
204 "root_port" bitmap parameter to select the port(s) to monitor, i.e.
205 "root_port=0xF" corresponds to root port 0 to 3. The PMU will monitor all root
206 ports by default if not specified.
207 /sys/bus/event_source/devices/nvidia_pcie_pmu_<socket-id>/format/root_port
208 shows the valid bits that can be set in the "root_port" parameter.
209
210 Example usage:
211
212 * Count event id 0x0 from root port 0 and 1 of socket 0::
213
214 perf stat -a -e nvidia_pcie_pmu_0/event=0x0,root_port=0x3/
215
216 * Count event id 0x0 from root port 0 and 1 of socket 1::
217
218 perf stat -a -e nvidia_pcie_pmu_1/event=0x0,root_port=0x3/
219
220 .. _NVIDIA_Uncore_PMU_Traffic_Coverage_Section:
221
222 Traffic Coverage
223 ----------------
224
225 The PMU traffic coverage may vary dependent on the chip configuration:
226
227 * **NVIDIA Grace Hopper Superchip**: Hopper GPU is connected with Grace SoC.
228
229 Example configuration with two Grace SoCs::
230
231 ********************************* *********************************
232 * SOCKET-A * * SOCKET-B *
233 * * * *
234 * :::::::: * * :::::::: *
235 * : PCIE : * * : PCIE : *
236 * :::::::: * * :::::::: *
237 * | * * | *
238 * | * * | *
239 * ::::::: ::::::::: * * ::::::::: ::::::: *
240 * : : : : * * : : : : *
241 * : GPU :<--NVLink-->: Grace :<---CNVLink--->: Grace :<--NVLink-->: GPU : *
242 * : : C2C : SoC : * * : SoC : C2C : : *
243 * ::::::: ::::::::: * * ::::::::: ::::::: *
244 * | | * * | | *
245 * | | * * | | *
246 * &&&&&&&& &&&&&&&& * * &&&&&&&& &&&&&&&& *
247 * & GMEM & & CMEM & * * & CMEM & & GMEM & *
248 * &&&&&&&& &&&&&&&& * * &&&&&&&& &&&&&&&& *
249 * * * *
250 ********************************* *********************************
251
252 GMEM = GPU Memory (e.g. HBM)
253 CMEM = CPU Memory (e.g. LPDDR5X)
254
255 |
256 | Following table contains traffic coverage of Grace SoC PMU in socket-A:
257
258 ::
259
260 +--------------+-------+-----------+-----------+-----+----------+----------+
261 | | Source |
262 + +-------+-----------+-----------+-----+----------+----------+
263 | Destination | |GPU ATS |GPU Not-ATS| | Socket-B | Socket-B |
264 | |PCI R/W|Translated,|Translated | CPU | CPU/PCIE1| GPU/PCIE2|
265 | | |EGM | | | | |
266 +==============+=======+===========+===========+=====+==========+==========+
267 | Local | PCIE |NVLink-C2C0|NVLink-C2C1| SCF | SCF PMU | CNVLink |
268 | SYSRAM/CMEM | PMU |PMU |PMU | PMU | | PMU |
269 +--------------+-------+-----------+-----------+-----+----------+----------+
270 | Local GMEM | PCIE | N/A |NVLink-C2C1| SCF | SCF PMU | CNVLink |
271 | | PMU | |PMU | PMU | | PMU |
272 +--------------+-------+-----------+-----------+-----+----------+----------+
273 | Remote | PCIE |NVLink-C2C0|NVLink-C2C1| SCF | | |
274 | SYSRAM/CMEM | PMU |PMU |PMU | PMU | N/A | N/A |
275 | over CNVLink | | | | | | |
276 +--------------+-------+-----------+-----------+-----+----------+----------+
277 | Remote GMEM | PCIE |NVLink-C2C0|NVLink-C2C1| SCF | | |
278 | over CNVLink | PMU |PMU |PMU | PMU | N/A | N/A |
279 +--------------+-------+-----------+-----------+-----+----------+----------+
280
281 PCIE1 traffic represents strongly ordered (SO) writes.
282 PCIE2 traffic represents reads and relaxed ordered (RO) writes.
283
284 * **NVIDIA Grace CPU Superchip**: two Grace CPU SoCs are connected.
285
286 Example configuration with two Grace SoCs::
287
288 ******************* *******************
289 * SOCKET-A * * SOCKET-B *
290 * * * *
291 * :::::::: * * :::::::: *
292 * : PCIE : * * : PCIE : *
293 * :::::::: * * :::::::: *
294 * | * * | *
295 * | * * | *
296 * ::::::::: * * ::::::::: *
297 * : : * * : : *
298 * : Grace :<--------NVLink------->: Grace : *
299 * : SoC : * C2C * : SoC : *
300 * ::::::::: * * ::::::::: *
301 * | * * | *
302 * | * * | *
303 * &&&&&&&& * * &&&&&&&& *
304 * & CMEM & * * & CMEM & *
305 * &&&&&&&& * * &&&&&&&& *
306 * * * *
307 ******************* *******************
308
309 GMEM = GPU Memory (e.g. HBM)
310 CMEM = CPU Memory (e.g. LPDDR5X)
311
312 |
313 | Following table contains traffic coverage of Grace SoC PMU in socket-A:
314
315 ::
316
317 +-----------------+-----------+---------+----------+-------------+
318 | | Source |
319 + +-----------+---------+----------+-------------+
320 | Destination | | | Socket-B | Socket-B |
321 | | PCI R/W | CPU | CPU/PCIE1| PCIE2 |
322 | | | | | |
323 +=================+===========+=========+==========+=============+
324 | Local | PCIE PMU | SCF PMU | SCF PMU | NVLink-C2C0 |
325 | SYSRAM/CMEM | | | | PMU |
326 +-----------------+-----------+---------+----------+-------------+
327 | Remote | | | | |
328 | SYSRAM/CMEM | PCIE PMU | SCF PMU | N/A | N/A |
329 | over NVLink-C2C | | | | |
330 +-----------------+-----------+---------+----------+-------------+
331
332 PCIE1 traffic represents strongly ordered (SO) writes.
333 PCIE2 traffic represents reads and relaxed ordered (RO) writes.
334

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

Tegra SoC system PMU

1-12

`NVIDIA Tegra SoC Uncore Performance Monitoring Unit (PMU)`은 memory bandwidth, latency, utilization 같은 핵심 performance metrics를 측정합니다.

System PMU는 `Scalable Coherency Fabric (SCF)`, NVLink-C2C0, NVLink-C2C1, CNVLink, PCIE로 구성됩니다.

PMU주요 traffic coverage
SCFSystem cache, CPU, strongly-ordered PCIE write traffic
NVLink-C2C0ATS translated/EGM GPU 또는 remote Grace PCIE2 traffic
NVLink-C2C1Untranslated GPU traffic
CNVLinkRemote socket GPU/PCIE traffic to local memory
PCIERoot port read/write traffic to local/remote memory

CoreSight 공통 driver와 CPU affinity

13-24

이 문서의 PMU는 `ARM IHI 0091`에 설명된 `ARM CoreSight PMU Architecture`를 기반으로 하며, 표준 architecture이므로 공통 driver `arm-cs-arch-pmu`가 관리합니다.

Driver는 각 PMU의 available event와 configuration을 sysfs에 설명합니다.

항목의미
Architecture`ARM CoreSight PMU Architecture`, `ARM IHI 0091`
`cpumask`PMU event를 처리하는 CPU ID
`associated_cpus`해당 PMU instance와 연관된 CPU 목록

SCF cache와 CPU/PCIE traffic

25-48

`SCF PMU`는 system level cache events, CPU traffic, local/remote memory로 향하는 strongly-ordered (SO) PCIE write traffic을 감시합니다.

Event와 configuration option은 `/sys/bus/event_source/devices/nvidia_scf_pmu_<socket-id>`에 있습니다.

대상경로 또는 event
Sysfs`/sys/bus/event_source/devices/nvidia_scf_pmu_<socket-id>`
Socket 0`nvidia_scf_pmu_0/event=0x0/`
Socket 1`nvidia_scf_pmu_1/event=0x0/`

Socket 0과 socket 1에서 event ID `0x0`을 세는 예제입니다.

perf stat -a -e nvidia_scf_pmu_0/event=0x0/
perf stat -a -e nvidia_scf_pmu_1/event=0x0/

NVLink-C2C0 translated/remote traffic

49-104

`NVLink-C2C0 PMU`는 NVLink-C2C (Chip-2-Chip) interconnect로 연결된 GPU/CPU에서 들어오는 traffic을 감시하며 chip configuration에 따라 포착 대상이 달라집니다.

Configuration포착 traffic
NVIDIA Grace Hopper SuperchipHopper GPU의 GPU ATS translated 또는 EGM traffic
NVIDIA Grace CPU SuperchipRemote SoC PCIE device의 read와 relaxed ordered (RO) write

Event와 configuration option은 `/sys/bus/event_source/devices/nvidia_nvlink_c2c0_pmu_<socket-id>`에 있습니다. Socket 0-3에 연결된 GPU/CPU의 event ID `0x0`을 세는 예제입니다.

perf stat -a -e nvidia_nvlink_c2c0_pmu_0/event=0x0/
perf stat -a -e nvidia_nvlink_c2c0_pmu_1/event=0x0/
perf stat -a -e nvidia_nvlink_c2c0_pmu_2/event=0x0/
perf stat -a -e nvidia_nvlink_c2c0_pmu_3/event=0x0/

NVLink-C2C는 한 GPU가 두 ports를 모두 차지하거나 GPU 두 개가 port 하나씩을 사용할 수 있습니다. `port` bitmap의 각 bit가 port 번호를 나타냅니다.

`port`감시 범위
생략두 port 모두 감시
`port=0x1`Port 0
`port=0x3`Port 0과 port 1

Socket 0의 port 0만, 또는 port 0과 1을 함께 고르는 예제입니다.

perf stat -a -e nvidia_nvlink_c2c0_pmu_0/event=0x0,port=0x1/
perf stat -a -e nvidia_nvlink_c2c0_pmu_0/event=0x0,port=0x3/

NVLink-C2C1 untranslated GPU traffic

105-150

`NVLink-C2C1 PMU`는 NVLink-C2C로 연결된 GPU의 incoming untranslated GPU traffic을 감시합니다. 이는 ATS translated traffic을 포착하는 NVLink-C2C0 PMU와 대비됩니다.

관점내용
TrafficUntranslated GPU traffic
ContrastNVLink-C2C0은 ATS translated traffic
Sysfs`/sys/bus/event_source/devices/nvidia_nvlink_c2c1_pmu_<socket-id>`

Socket 0-3에 연결된 GPU의 event ID `0x0`을 세는 예제입니다.

perf stat -a -e nvidia_nvlink_c2c1_pmu_0/event=0x0/
perf stat -a -e nvidia_nvlink_c2c1_pmu_1/event=0x0/
perf stat -a -e nvidia_nvlink_c2c1_pmu_2/event=0x0/
perf stat -a -e nvidia_nvlink_c2c1_pmu_3/event=0x0/

C2C1도 C2C0과 같은 두-port 구조와 `port` bitmap 의미를 사용하며 option을 생략하면 두 ports를 모두 감시합니다.

Socket 0의 port 0만, 또는 port 0과 1을 함께 고르는 예제입니다.

perf stat -a -e nvidia_nvlink_c2c1_pmu_0/event=0x0,port=0x1/
perf stat -a -e nvidia_nvlink_c2c1_pmu_0/event=0x0,port=0x3/

Root port read/write traffic

193-219

`PCIE PMU`는 PCIE root ports에서 local/remote memory로 향하는 모든 read/write traffic을 감시합니다.

Event와 configuration option은 `/sys/bus/event_source/devices/nvidia_pcie_pmu_<socket-id>`에 있습니다. `root_port` bitmap으로 socket의 root port를 고르며 생략하면 모두 감시합니다.

`/sys/bus/event_source/devices/nvidia_pcie_pmu_<socket-id>/format/root_port`에서 valid bits를 확인합니다.

BitmapRoot port
생략Socket의 모든 root ports
`root_port=0xF`Root port 0-3
`root_port=0x3`Root port 0과 1

Socket 0과 socket 1에서 root port 0과 1을 고르는 예제입니다.

perf stat -a -e nvidia_pcie_pmu_0/event=0x0,root_port=0x3/
perf stat -a -e nvidia_pcie_pmu_1/event=0x0,root_port=0x3/

Grace Hopper Superchip traffic matrix

220-283

원문의 `Traffic Coverage`에서 `NVIDIA Grace Hopper Superchip`은 Hopper GPU가 Grace SoC와 연결됩니다. 예제 topology는 socket마다 PCIE, Grace SoC/CMEM, GPU/GMEM을 두고, socket 내부는 NVLink-C2C, 두 Grace SoC 사이는 CNVLink로 연결합니다.

두 socket Grace Hopper topology
SOCKET-A PCIE -> Grace SoC AGPU A / GMEM <-- NVLink-C2C --> Grace SoC A / CMEMGrace SoC A <-- CNVLink --> Grace SoC BGrace SoC B / CMEM <-- NVLink-C2C --> GPU B / GMEMGrace SoC B <- SOCKET-B PCIE

각 socket의 GPU/GMEM, Grace SoC/CMEM, PCIE와 socket 사이 CNVLink 연결을 구조화했습니다.

`GMEM`은 GPU Memory (예: HBM), `CMEM`은 CPU Memory (예: LPDDR5X)입니다. Socket-A Grace SoC PMU가 source와 destination 조합별로 담당하는 coverage는 다음과 같습니다.

Grace Hopper socket-A PMU traffic coverage
DestinationPCI R/WGPU ATS translated, EGMGPU Not-ATS translatedCPUSocket-B CPU/PCIE1Socket-B GPU/PCIE2
Local SYSRAM/CMEMPCIE PMUNVLink-C2C0 PMUNVLink-C2C1 PMUSCF PMUSCF PMUCNVLink PMU
Local GMEMPCIE PMUN/ANVLink-C2C1 PMUSCF PMUSCF PMUCNVLink PMU
Remote SYSRAM/CMEM over CNVLinkPCIE PMUNVLink-C2C0 PMUNVLink-C2C1 PMUSCF PMUN/AN/A
Remote GMEM over CNVLinkPCIE PMUNVLink-C2C0 PMUNVLink-C2C1 PMUSCF PMUN/AN/A

Destination과 source 조합마다 event를 관찰할 PMU를 원문 matrix와 동일하게 배치했습니다.

Remote PCIE trafficOrdering
PCIE1Strongly ordered (SO) writes
PCIE2Reads와 relaxed ordered (RO) writes

Grace CPU Superchip traffic matrix

284-333

`NVIDIA Grace CPU Superchip`에서는 Grace CPU SoC 두 개를 NVLink-C2C로 연결합니다. 각 socket에는 PCIE와 Grace SoC/CMEM이 있고 GPU/GMEM은 없습니다.

두 socket Grace CPU topology
SOCKET-A PCIE -> Grace SoC AGrace SoC A -> CMEM AGrace SoC A <-- NVLink-C2C --> Grace SoC BGrace SoC B -> CMEM BGrace SoC B <- SOCKET-B PCIE

각 socket의 PCIE, Grace SoC, CMEM과 socket 사이 NVLink-C2C 연결을 구조화했습니다.

`GMEM`은 GPU Memory (예: HBM), `CMEM`은 CPU Memory (예: LPDDR5X)라는 정의를 유지합니다. Socket-A Grace SoC PMU coverage는 다음과 같습니다.

Grace CPU socket-A PMU traffic coverage
DestinationPCI R/WCPUSocket-B CPU/PCIE1Socket-B PCIE2
Local SYSRAM/CMEMPCIE PMUSCF PMUSCF PMUNVLink-C2C0 PMU
Remote SYSRAM/CMEM over NVLink-C2CPCIE PMUSCF PMUN/AN/A

Local/remote SYSRAM/CMEM destination과 source별 담당 PMU를 원문 matrix와 동일하게 배치했습니다.

`PCIE1` traffic은 strongly ordered (SO) writes이고 `PCIE2` traffic은 `reads and relaxed ordered (RO) writes`입니다.