Nvidia GPU Tips and Tricks: Difference between revisions

From HPCWIKI
Jump to navigation Jump to search
(Created page with " == Xid errors along with the potential causes for each<ref>https://docs.nvidia.com/deploy/xid-errors/index.html</ref> == {| class="wikitable" ! colspan="1" rowspan="1" |XID ! colspan="1" rowspan="1" |Nvidia GPU Failure !Linux Kernel message ! colspan="7" rowspan="1" |Causes |- ! colspan="1" rowspan="1" | ! colspan="1" rowspan="1" | ! ! colspan="1" rowspan="1" |HW Error ! colspan="1" rowspan="1" |Driver Error ! colspan="1" rowspan="1" |User App Error ! colspan="1" rowspa...")
 
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Overview ==
Nvidia GPU Tips and Tricks에 대한 기술 문서입니다.
=== Summary ===
* 무엇인가? - Nvidia GPU Tips and Tricks
* 왜 필요한가? - HPC 및 서버 환경에서 필수 개념
* 언제 사용하는가? - 서버 구성, 성능 튜닝, 문제 해결 시
== Purpose ==
이 문서가 존재하는 이유
* Goal: Nvidia GPU Tips and Tricks에 대한 기술 정보 제공
* Scope: Nvidia GPU Tips and Tricks의 개념, 사용법, 설정
* Non-goals: 다른 주제로의 확장
== Key Concepts ==


== Xid errors along with the potential causes for each<ref>https://docs.nvidia.com/deploy/xid-errors/index.html</ref> ==
{| class="wikitable"
{| class="wikitable"
! colspan="1" rowspan="1" |XID
! Concept
! colspan="1" rowspan="1" |Nvidia GPU Failure
! Description
![[Linux]] Kernel message
! Related
! colspan="7" rowspan="1" |Causes
|-
|-
! colspan="1" rowspan="1" |
| Nvidia GPU Tips and Tricks
! colspan="1" rowspan="1" |
| HPC/서버 환경에서 중요한 기술 개념
!
| [[Linux]], [[Server]]
! colspan="1" rowspan="1" |HW Error
|}
! colspan="1" rowspan="1" |Driver Error
 
! colspan="1" rowspan="1" |User App Error
== Xid 119 ==
! colspan="1" rowspan="1" |System Memory Corruption
Based on many cases, XID 119 error caused by many reasons. one of that is the incompatibility between Nvidia GSP firmware and [[PCIe ASPM (Active State Power Management)]], especially if you can see GPU device on PCI list ($lspci | grep -i vga) while nvidia-msi does not show the GPU.
! colspan="1" rowspan="1" |Bus Error
 
! colspan="1" rowspan="1" |Thermal Issue
From [[ASPM]] perspective,  host driver is trying to wakeup GPU in deep-P-state, GPU's GSP response has been timeout then host disconnected [[PCIe]] bus slot to disconnect the GPU (Fallen off the bus / Xid 79). simply idle deep-P-state GSP disconnection. 
! colspan="1" rowspan="1" |FB Corruption
 
|-
<syntaxhighlight lang="bash">
| colspan="1" rowspan="1" |1
#Xid 119 error example
| colspan="1" rowspan="1" |Invalid or corrupted push buffer stream
$ sudo cat /var/log/syslog | grep -i NVRM
|
Oct 12 00:32:17 Venus kernel: [ 1074.666075] NVRM: GPU at PCI:0000:81:00: GPU-760dab3f-a851-fc4c-dba8-c400d7db4b17
| colspan="1" rowspan="1" |
Oct 12 00:32:17 Venus kernel: [ 1074.666086] NVRM: GPU Board Serial Number: 1714923003394
| colspan="1" rowspan="1" |X
Oct 12 00:32:17 Venus kernel: [ 1074.666089] NVRM: Xid (PCI:0000:81:00): 119, pid=2816, name=nvidia-smi, Timeout after 6s of waiting for RPC response from GPU1 GSP! Expected function 103 (GSP_RM_ALLOC) (0x0 0x78).
| colspan="1" rowspan="1" |
Oct 12 00:32:17 Venus kernel: [ 1074.666114] NVRM: GPU1 GSP RPC buffer contains function 103 (GSP_RM_ALLOC) and data 0x0000000000000000 0x0000000000000078.
| colspan="1" rowspan="1" |X
Oct 12 00:32:17 Venus kernel: [ 1074.666122] NVRM: GPU1 RPC history (CPU -> GSP):
| colspan="1" rowspan="1" |X
Oct 12 00:32:17 Venus kernel: [ 1074.666126] NVRM:    entry function                  data0              data1              ts_start          ts_end            duration actively_polling
| colspan="1" rowspan="1" |
Oct 12 00:32:17 Venus kernel: [ 1074.666130] NVRM:      0    103  GSP_RM_ALLOC          0x0000000000000000 0x0000000000000078 0x00065d99d4274f2e 0x0000000000000000          y
| colspan="1" rowspan="1" |X
Oct 12 00:32:17 Venus kernel: [ 1074.666141] NVRM:    -1   76  GSP_RM_CONTROL        0x0000000020800aff 0x0000000000000010 0x00065d999699a9c2 0x00065d999699ad04    834us 
|-
Oct 12 00:32:17 Venus kernel: [ 1074.666152] NVRM:    -2    103  GSP_RM_ALLOC          0x0000000000002080 0x0000000000000004 0x00065d9996999382 0x00065d999699946b    233us 
| colspan="1" rowspan="1" |2
Oct 12 00:32:17 Venus kernel: [ 1074.666161] NVRM:    -3    103  GSP_RM_ALLOC          0x0000000000000080 0x0000000000000038 0x00065d99969991fa 0x00065d999699929e    164us 
| colspan="1" rowspan="1" |Invalid or corrupted push buffer stream
Oct 12 00:32:17 Venus kernel: [ 1074.666169] NVRM:    -4    103  GSP_RM_ALLOC          0x0000000000000000 0x0000000000000078 0x00065d999699910f 0x00065d99969991f6    231us 
|
Oct 12 00:32:17 Venus kernel: [ 1074.666177] NVRM:    -5    76  GSP_RM_CONTROL        0x000000000073028b 0x0000000000000038 0x00065d9996951efc 0x00065d9996951f73    119us 
| colspan="1" rowspan="1" |
Oct 12 00:32:17 Venus kernel: [ 1074.666185] NVRM:    -6    76  GSP_RM_CONTROL        0x0000000000730211 0x0000000000000010 0x00065d9996951e4d 0x00065d9996951ef3    166us 
| colspan="1" rowspan="1" |X
Oct 12 00:32:17 Venus kernel: [ 1074.666194] NVRM:    -7    76  GSP_RM_CONTROL        0x000000000073028b 0x0000000000000038 0x00065d9996951d96 0x00065d9996951e41    171us 
| colspan="1" rowspan="1" |
Oct 12 00:32:17 Venus kernel: [ 1074.666202] NVRM: GPU1 RPC event history (CPU <- GSP):
| colspan="1" rowspan="1" |X
Oct 12 00:32:17 Venus kernel: [ 1074.666206] NVRM:    entry function                  data0              data1              ts_start          ts_end            duration during_incomplete_rpc
| colspan="1" rowspan="1" |X
Oct 12 00:32:17 Venus kernel: [ 1074.666211] NVRM:      0    4108 UCODE_LIBOS_PRINT    0x0000000000000000 0x0000000000000000 0x00065d99968fe0bd 0x00065d99968fe0bd         
| colspan="1" rowspan="1" |
Oct 12 00:32:17 Venus kernel: [ 1074.666220] NVRM:    -1    4108 UCODE_LIBOS_PRINT    0x0000000000000000 0x0000000000000000 0x00065d99968fdfc9 0x00065d99968fdfcb      2us 
| colspan="1" rowspan="1" |X
Oct 12 00:32:17 Venus kernel: [ 1074.666229] NVRM:    -2   4098 GSP_RUN_CPU_SEQUENCER 0x000000000000061c 0x0000000000003fe2 0x00065d99968ec520 0x00065d99968ed9b7  5271us 
|-
Oct 12 00:32:23 Venus kernel: [ 1080.710822] NVRM: Xid (PCI:0000:81:00): 119, pid=2816, name=nvidia-smi, Timeout after 6s of waiting for RPC response from GPU1 GSP! Expected function 103 (GSP_RM_ALLOC) (0x80 0x38).
| colspan="1" rowspan="1" |3
Oct 12 00:32:29 Venus kernel: [ 1086.715510] NVRM: Xid (PCI:0000:81:00): 119, pid=2816, name=nvidia-smi, Timeout after 6s of waiting for RPC response from GPU1 GSP! Expected function 103 (GSP_RM_ALLOC) (0x2080 0x4).
| colspan="1" rowspan="1" |Invalid or corrupted push buffer stream
Oct 12 00:32:35 Venus kernel: [ 1092.732051] NVRM: Rate limiting GSP RPC error prints for GPU at PCI:0000:81:00 (printing 1 of every 30).  The GPU likely needs to be reset.
|
Oct 12 00:39:36 Venus kernel: [ 1514.082939] NVRM: Xid (PCI:0000:81:00): 119, pid=3611, name=nvidia-smi, Timeout after 6s of waiting for RPC response from GPU1 GSP! Expected function 103 (GSP_RM_ALLOC) (0x80 0x38).
| colspan="1" rowspan="1" |
Oct 12 00:48:55 Venus kernel: [ 2073.280826] NVRM: Xid (PCI:0000:81:00): 119, pid=4684, name=nvidia-smi, Timeout after 6s of waiting for RPC response from GPU1 GSP! Expected function 76 (GSP_RM_CONTROL) (0x20801819 0x20).
| colspan="1" rowspan="1" |X
Oct 12 01:09:34 Venus kernel: [  10.489443] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  570.169  Thu Jun 12 20:04:34 UTC 2025
| colspan="1" rowspan="1" |
Oct 12 01:09:44 Venus kernel: [  24.019501] NVRM: GPU 0000:81:00.0: RmInitAdapter failed! (0x25:0xffff:1545)
| colspan="1" rowspan="1" |X
Oct 12 01:09:44 Venus kernel: [  24.019545] NVRM: GPU 0000:81:00.0: rm_init_adapter failed, device minor number 0
| colspan="1" rowspan="1" |X
Oct 12 01:09:58 Venus kernel: [  37.212612] NVRM: GPU 0000:81:00.0: RmInitAdapter failed! (0x25:0xffff:1545)
| colspan="1" rowspan="1" |
Oct 12 01:09:58 Venus kernel: [  37.212667] NVRM: GPU 0000:81:00.0: rm_init_adapter failed, device minor number 0
| colspan="1" rowspan="1" |X
Oct 12 01:10:05 Venus kernel: [  45.089470] NVRM: GPU 0000:81:00.0: RmInitAdapter failed! (0x25:0xffff:1545)
|-
Oct 12 01:10:05 Venus kernel: [  45.089530] NVRM: GPU 0000:81:00.0: rm_init_adapter failed, device minor number 0
| colspan="1" rowspan="1" |4
Oct 12 01:29:15 Venus kernel: [    9.350719] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  570.169  Thu Jun 12 20:04:34 UTC 2025
| colspan="1" rowspan="1" |Invalid or corrupted push buffer stream
Oct 12 01:40:32 Venus kernel: [    8.597394] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  570.169  Thu Jun 12 20:04:34 UTC 2025
|
Oct 12 01:40:41 Venus kernel: [  20.848347] NVRM: GPU 0000:01:00.0: RmInitAdapter failed! (0x25:0xffff:1545)
| colspan="1" rowspan="1" |
Oct 12 01:40:41 Venus kernel: [  20.848419] NVRM: GPU 0000:01:00.0: rm_init_adapter failed, device minor number 0
| colspan="1" rowspan="1" |X
Oct 12 01:41:36 Venus kernel: [  75.328697] NVRM: GPU 0000:01:00.0: RmInitAdapter failed! (0x25:0xffff:1545)
| colspan="1" rowspan="1" |
Oct 12 01:41:36 Venus kernel: [  75.328742] NVRM: GPU 0000:01:00.0: rm_init_adapter failed, device minor number 0
| colspan="1" rowspan="1" |X
 
| colspan="1" rowspan="1" |X
</syntaxhighlight>
| colspan="1" rowspan="1" |
 
| colspan="1" rowspan="1" |X
The solution would be deactivate GSP - ASPM signaling using one of following way
|-
 
| colspan="1" rowspan="1" |
1. Set GPU persistence mode (Most simple and recommended) along with custom systemd service to PM on after system bootup.
| colspan="1" rowspan="1" |GPU semaphore timeout
 
|
<nowiki>#</nowiki>sudo nvidia-smi -pm 1
| colspan="1" rowspan="1" |
 
| colspan="1" rowspan="1" |X
 
| colspan="1" rowspan="1" |X
2. Disable PCIe ASPM with [[kernel]] param
| colspan="1" rowspan="1" |X
 
| colspan="1" rowspan="1" |X
Add pcie-aspm=off in GRUB_CMDLINE_LINUX_DEFAULT then update-grub and reboot
| colspan="1" rowspan="1" |
 
| colspan="1" rowspan="1" |X
|-
| colspan="1" rowspan="1" |5
| colspan="1" rowspan="1" |Unused
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |6
| colspan="1" rowspan="1" |Invalid or corrupted push buffer stream
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
|-
| colspan="1" rowspan="1" |7
| colspan="1" rowspan="1" |Invalid or corrupted push buffer address
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
|-
| colspan="1" rowspan="1" |8
| colspan="1" rowspan="1" |GPU stopped processing
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |9
| colspan="1" rowspan="1" |Driver error programming GPU
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |10
| colspan="1" rowspan="1" |Unused
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |11
| colspan="1" rowspan="1" |Invalid or corrupted push buffer stream
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
|-
| colspan="1" rowspan="1" |12
| colspan="1" rowspan="1" |Driver error handling GPU exception
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |13
| colspan="1" rowspan="1" |Graphics Engine Exception
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
|-
| colspan="1" rowspan="1" |14
| colspan="1" rowspan="1" |Unused
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |15
| colspan="1" rowspan="1" |Unused
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |16
| colspan="1" rowspan="1" |Display engine hung
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |17
| colspan="1" rowspan="1" |Unused
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |18
| colspan="1" rowspan="1" |Bus mastering disabled in PCI Config Space
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |19
| colspan="1" rowspan="1" |Display Engine error
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |20
| colspan="1" rowspan="1" |Invalid or corrupted Mpeg push buffer
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
|-
| colspan="1" rowspan="1" |21
| colspan="1" rowspan="1" |Invalid or corrupted Motion Estimation push buffer
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
|-
| colspan="1" rowspan="1" |22
| colspan="1" rowspan="1" |Invalid or corrupted Video Processor push buffer
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
|-
| colspan="1" rowspan="1" |23
| colspan="1" rowspan="1" |Unused
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |24
| colspan="1" rowspan="1" |GPU semaphore timeout
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
|-
| colspan="1" rowspan="1" |25
| colspan="1" rowspan="1" |Invalid or illegal push buffer stream
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
|-
| colspan="1" rowspan="1" |26
| colspan="1" rowspan="1" |Framebuffer timeout
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |27
| colspan="1" rowspan="1" |Video processor exception
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |28
| colspan="1" rowspan="1" |Video processor exception
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |29
| colspan="1" rowspan="1" |Video processor exception
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |30
| colspan="1" rowspan="1" |GPU semaphore access error
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |31
| colspan="1" rowspan="1" |GPU memory page fault
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |32
| colspan="1" rowspan="1" |Invalid or corrupted push buffer stream
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
|-
| colspan="1" rowspan="1" |33
| colspan="1" rowspan="1" |Internal micro-controller error
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |34
| colspan="1" rowspan="1" |Video processor exception
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |35
| colspan="1" rowspan="1" |Video processor exception
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |36
| colspan="1" rowspan="1" |Video processor exception
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |37
| colspan="1" rowspan="1" |Driver firmware error
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |38
| colspan="1" rowspan="1" |Driver firmware error
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |39
| colspan="1" rowspan="1" |Unused
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |40
| colspan="1" rowspan="1" |Unused
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |41
| colspan="1" rowspan="1" |Unused
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |42
| colspan="1" rowspan="1" |Video processor exception
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |43
| colspan="1" rowspan="1" |GPU stopped processing
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |44
| colspan="1" rowspan="1" |Graphics Engine fault during context switch
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |45
| colspan="1" rowspan="1" |Preemptive cleanup, due to previous errors -- Most likely to see when running multiple [[CUDA|cuda]] applications and hitting a DBE
|Usually Kernel shows  following message before XID 45
sched: RT throttling activated
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |46
| colspan="1" rowspan="1" |GPU stopped processing
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |47
| colspan="1" rowspan="1" |Video processor exception
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |48
| colspan="1" rowspan="1" |Double Bit ECC Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |49
| colspan="1" rowspan="1" |Unused
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |50
| colspan="1" rowspan="1" |Unused
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |51
| colspan="1" rowspan="1" |Unused
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |52
| colspan="1" rowspan="1" |Unused
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |53
| colspan="1" rowspan="1" |Unused
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |54
| colspan="1" rowspan="1" |Auxiliary power is not connected to the GPU board
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |55
| colspan="1" rowspan="1" |Unused
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |56
| colspan="1" rowspan="1" |Display Engine error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |57
| colspan="1" rowspan="1" |Error programming video memory interface
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
|-
| colspan="1" rowspan="1" |58
| colspan="1" rowspan="1" |Unstable video memory interface detected
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |EDC error – clarified in printout
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |59
| colspan="1" rowspan="1" |Internal micro-controller error


(older drivers)
3. Disable GSP feature (depending on version of driver, proprieatry vs open-kernel driver or GPU generation)
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |60
| colspan="1" rowspan="1" |Video processor exception
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |61
| colspan="1" rowspan="1" |Internal micro-controller breakpoint/warning


(newer drivers)
Create /etc/modprobe.d/gsp.conf 파일에 options nvidia NVreg_EnableGpuFirmware=0
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |62
| colspan="1" rowspan="1" |Internal micro-controller halt


(newer drivers)
== Best Practices ==
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |63
| colspan="1" rowspan="1" |ECC page retirement or row remapping recording event
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
|-
| colspan="1" rowspan="1" |64
| colspan="1" rowspan="1" |ECC page retirement or row remapper recording failure
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |65
| colspan="1" rowspan="1" |Video processor exception
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |66
| colspan="1" rowspan="1" |Illegal access by driver
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |67
| colspan="1" rowspan="1" |Illegal access by driver
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |68
| colspan="1" rowspan="1" |NVDEC0 Exception
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |69
| colspan="1" rowspan="1" |Graphics Engine class error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |70
| colspan="1" rowspan="1" |CE3: Unknown Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |71
| colspan="1" rowspan="1" |CE4: Unknown Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |72
| colspan="1" rowspan="1" |CE5: Unknown Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |73
| colspan="1" rowspan="1" |NVENC2 Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |74
| colspan="1" rowspan="1" |NVLINK Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |75
| colspan="1" rowspan="1" |CE6: Unknown Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |76
| colspan="1" rowspan="1" |CE7: Unknown Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |77
| colspan="1" rowspan="1" |CE8: Unknown Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |78
| colspan="1" rowspan="1" |vGPU Start Error
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |79
| colspan="1" rowspan="1" |GPU has fallen off the bus
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |80
| colspan="1" rowspan="1" |Corrupted data sent to GPU
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
|-
| colspan="1" rowspan="1" |81
| colspan="1" rowspan="1" |VGA Subsystem Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |82
| colspan="1" rowspan="1" |NVJPG0 Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |83
| colspan="1" rowspan="1" |NVDEC1 Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |84
| colspan="1" rowspan="1" |NVDEC2 Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |85
| colspan="1" rowspan="1" |CE9: Unknown Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |86
| colspan="1" rowspan="1" |OFA Exception
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |87
| colspan="1" rowspan="1" |Reserved
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |88
| colspan="1" rowspan="1" |NVDEC3 Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |89
| colspan="1" rowspan="1" |NVDEC4 Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |90
| colspan="1" rowspan="1" |Reserved
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |91
| colspan="1" rowspan="1" |Reserved
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |92
| colspan="1" rowspan="1" |High single-bit ECC error rate
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |93
| colspan="1" rowspan="1" |Non-fatal violation of provisioned InfoROM wear limit
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |94
| colspan="1" rowspan="1" |Contained ECC error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
|-
| colspan="1" rowspan="1" |95
| colspan="1" rowspan="1" |Uncontained ECC error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
|-
| colspan="1" rowspan="1" |96
| colspan="1" rowspan="1" |NVDEC5 Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |97
| colspan="1" rowspan="1" |NVDEC6 Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |98
| colspan="1" rowspan="1" |NVDEC7 Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |99
| colspan="1" rowspan="1" |NVJPG1 Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |100
| colspan="1" rowspan="1" |NVJPG2 Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |101
| colspan="1" rowspan="1" |NVJPG3 Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |102
| colspan="1" rowspan="1" |NVJPG4 Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |103
| colspan="1" rowspan="1" |NVJPG5 Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |104
| colspan="1" rowspan="1" |NVJPG6 Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |105
| colspan="1" rowspan="1" |NVJPG7 Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |106
| colspan="1" rowspan="1" |SMBPBI [[Test]] Message
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |107
| colspan="1" rowspan="1" |SMBPBI Test Message Silent
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |108-


109
* 최신 버전 사용 권장
| colspan="1" rowspan="1" |Reserved
* 공식 문서 참고
|
* 테스트 환경에서 먼저 검증
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |110
| colspan="1" rowspan="1" |Security Fault Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |111
| colspan="1" rowspan="1" |Display Bundle Error Event
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |112
| colspan="1" rowspan="1" |Display Supervisor Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |113
| colspan="1" rowspan="1" |DP Link Training Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |114
| colspan="1" rowspan="1" |Display Pipeline Underflow Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
|-
| colspan="1" rowspan="1" |115
| colspan="1" rowspan="1" |Display Core Channel Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |116
| colspan="1" rowspan="1" |Display Window Channel Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |117
| colspan="1" rowspan="1" |Display Cursor Channel Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |118
| colspan="1" rowspan="1" |Display Pixel Pipeline Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |119
| colspan="1" rowspan="1" |GSP RPC Timeout
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
|-
| colspan="1" rowspan="1" |120
| colspan="1" rowspan="1" |GSP Error
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
|-
| colspan="1" rowspan="1" |121
| colspan="1" rowspan="1" |Reserved
|
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |122
| colspan="1" rowspan="1" |SPI PMU RPC Read Failure
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |123
| colspan="1" rowspan="1" |SPI PMU RPC Write Failure
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |124
| colspan="1" rowspan="1" |SPI PMU RPC Erase Failure
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|-
| colspan="1" rowspan="1" |125
| colspan="1" rowspan="1" |Inforom FS Failure
|
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |X
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
| colspan="1" rowspan="1" |
|}


== References ==
== References ==
<references />
 
* [https://wiki.hpcmate.com Nvidia GPU Tips and Tricks]
 
== Related Pages ==
 
* [[Linux]]
* [[Server]]
* [[Hardware]]
* [[Network]]
* [[NVIDIA GPUs]]
 
[[Category:GPU]]
== Knowledge Graph ==
 
Related
 
→ [[CUDA]]
→ [[GPU]]
→ [[NVIDIA GPU]]
→ [[H100]]
→ [[NVLink]]
→ [[AMD GPUs]]
→ [[A100]]
→ [[MIG]]
 
[[Category:Guide]]

Latest revision as of 14:50, 14 October 2026

Overview

Nvidia GPU Tips and Tricks에 대한 기술 문서입니다.

Summary

  • 무엇인가? - Nvidia GPU Tips and Tricks
  • 왜 필요한가? - HPC 및 서버 환경에서 필수 개념
  • 언제 사용하는가? - 서버 구성, 성능 튜닝, 문제 해결 시

Purpose

이 문서가 존재하는 이유

  • Goal: Nvidia GPU Tips and Tricks에 대한 기술 정보 제공
  • Scope: Nvidia GPU Tips and Tricks의 개념, 사용법, 설정
  • Non-goals: 다른 주제로의 확장

Key Concepts

Concept Description Related
Nvidia GPU Tips and Tricks HPC/서버 환경에서 중요한 기술 개념 Linux, Server

Xid 119

Based on many cases, XID 119 error caused by many reasons. one of that is the incompatibility between Nvidia GSP firmware and PCIe ASPM (Active State Power Management), especially if you can see GPU device on PCI list ($lspci | grep -i vga) while nvidia-msi does not show the GPU.

From ASPM perspective, host driver is trying to wakeup GPU in deep-P-state, GPU's GSP response has been timeout then host disconnected PCIe bus slot to disconnect the GPU (Fallen off the bus / Xid 79). simply idle deep-P-state GSP disconnection.

#Xid 119 error example
$ sudo cat /var/log/syslog | grep -i NVRM
Oct 12 00:32:17 Venus kernel: [ 1074.666075] NVRM: GPU at PCI:0000:81:00: GPU-760dab3f-a851-fc4c-dba8-c400d7db4b17
Oct 12 00:32:17 Venus kernel: [ 1074.666086] NVRM: GPU Board Serial Number: 1714923003394
Oct 12 00:32:17 Venus kernel: [ 1074.666089] NVRM: Xid (PCI:0000:81:00): 119, pid=2816, name=nvidia-smi, Timeout after 6s of waiting for RPC response from GPU1 GSP! Expected function 103 (GSP_RM_ALLOC) (0x0 0x78).
Oct 12 00:32:17 Venus kernel: [ 1074.666114] NVRM: GPU1 GSP RPC buffer contains function 103 (GSP_RM_ALLOC) and data 0x0000000000000000 0x0000000000000078.
Oct 12 00:32:17 Venus kernel: [ 1074.666122] NVRM: GPU1 RPC history (CPU -> GSP):
Oct 12 00:32:17 Venus kernel: [ 1074.666126] NVRM:     entry function                   data0              data1              ts_start           ts_end             duration actively_polling
Oct 12 00:32:17 Venus kernel: [ 1074.666130] NVRM:      0    103  GSP_RM_ALLOC          0x0000000000000000 0x0000000000000078 0x00065d99d4274f2e 0x0000000000000000          y
Oct 12 00:32:17 Venus kernel: [ 1074.666141] NVRM:     -1    76   GSP_RM_CONTROL        0x0000000020800aff 0x0000000000000010 0x00065d999699a9c2 0x00065d999699ad04    834us  
Oct 12 00:32:17 Venus kernel: [ 1074.666152] NVRM:     -2    103  GSP_RM_ALLOC          0x0000000000002080 0x0000000000000004 0x00065d9996999382 0x00065d999699946b    233us  
Oct 12 00:32:17 Venus kernel: [ 1074.666161] NVRM:     -3    103  GSP_RM_ALLOC          0x0000000000000080 0x0000000000000038 0x00065d99969991fa 0x00065d999699929e    164us  
Oct 12 00:32:17 Venus kernel: [ 1074.666169] NVRM:     -4    103  GSP_RM_ALLOC          0x0000000000000000 0x0000000000000078 0x00065d999699910f 0x00065d99969991f6    231us  
Oct 12 00:32:17 Venus kernel: [ 1074.666177] NVRM:     -5    76   GSP_RM_CONTROL        0x000000000073028b 0x0000000000000038 0x00065d9996951efc 0x00065d9996951f73    119us  
Oct 12 00:32:17 Venus kernel: [ 1074.666185] NVRM:     -6    76   GSP_RM_CONTROL        0x0000000000730211 0x0000000000000010 0x00065d9996951e4d 0x00065d9996951ef3    166us  
Oct 12 00:32:17 Venus kernel: [ 1074.666194] NVRM:     -7    76   GSP_RM_CONTROL        0x000000000073028b 0x0000000000000038 0x00065d9996951d96 0x00065d9996951e41    171us  
Oct 12 00:32:17 Venus kernel: [ 1074.666202] NVRM: GPU1 RPC event history (CPU <- GSP):
Oct 12 00:32:17 Venus kernel: [ 1074.666206] NVRM:     entry function                   data0              data1              ts_start           ts_end             duration during_incomplete_rpc
Oct 12 00:32:17 Venus kernel: [ 1074.666211] NVRM:      0    4108 UCODE_LIBOS_PRINT     0x0000000000000000 0x0000000000000000 0x00065d99968fe0bd 0x00065d99968fe0bd           
Oct 12 00:32:17 Venus kernel: [ 1074.666220] NVRM:     -1    4108 UCODE_LIBOS_PRINT     0x0000000000000000 0x0000000000000000 0x00065d99968fdfc9 0x00065d99968fdfcb      2us  
Oct 12 00:32:17 Venus kernel: [ 1074.666229] NVRM:     -2    4098 GSP_RUN_CPU_SEQUENCER 0x000000000000061c 0x0000000000003fe2 0x00065d99968ec520 0x00065d99968ed9b7   5271us  
Oct 12 00:32:23 Venus kernel: [ 1080.710822] NVRM: Xid (PCI:0000:81:00): 119, pid=2816, name=nvidia-smi, Timeout after 6s of waiting for RPC response from GPU1 GSP! Expected function 103 (GSP_RM_ALLOC) (0x80 0x38).
Oct 12 00:32:29 Venus kernel: [ 1086.715510] NVRM: Xid (PCI:0000:81:00): 119, pid=2816, name=nvidia-smi, Timeout after 6s of waiting for RPC response from GPU1 GSP! Expected function 103 (GSP_RM_ALLOC) (0x2080 0x4).
Oct 12 00:32:35 Venus kernel: [ 1092.732051] NVRM: Rate limiting GSP RPC error prints for GPU at PCI:0000:81:00 (printing 1 of every 30).  The GPU likely needs to be reset.
Oct 12 00:39:36 Venus kernel: [ 1514.082939] NVRM: Xid (PCI:0000:81:00): 119, pid=3611, name=nvidia-smi, Timeout after 6s of waiting for RPC response from GPU1 GSP! Expected function 103 (GSP_RM_ALLOC) (0x80 0x38).
Oct 12 00:48:55 Venus kernel: [ 2073.280826] NVRM: Xid (PCI:0000:81:00): 119, pid=4684, name=nvidia-smi, Timeout after 6s of waiting for RPC response from GPU1 GSP! Expected function 76 (GSP_RM_CONTROL) (0x20801819 0x20).
Oct 12 01:09:34 Venus kernel: [   10.489443] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  570.169  Thu Jun 12 20:04:34 UTC 2025
Oct 12 01:09:44 Venus kernel: [   24.019501] NVRM: GPU 0000:81:00.0: RmInitAdapter failed! (0x25:0xffff:1545)
Oct 12 01:09:44 Venus kernel: [   24.019545] NVRM: GPU 0000:81:00.0: rm_init_adapter failed, device minor number 0
Oct 12 01:09:58 Venus kernel: [   37.212612] NVRM: GPU 0000:81:00.0: RmInitAdapter failed! (0x25:0xffff:1545)
Oct 12 01:09:58 Venus kernel: [   37.212667] NVRM: GPU 0000:81:00.0: rm_init_adapter failed, device minor number 0
Oct 12 01:10:05 Venus kernel: [   45.089470] NVRM: GPU 0000:81:00.0: RmInitAdapter failed! (0x25:0xffff:1545)
Oct 12 01:10:05 Venus kernel: [   45.089530] NVRM: GPU 0000:81:00.0: rm_init_adapter failed, device minor number 0
Oct 12 01:29:15 Venus kernel: [    9.350719] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  570.169  Thu Jun 12 20:04:34 UTC 2025
Oct 12 01:40:32 Venus kernel: [    8.597394] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  570.169  Thu Jun 12 20:04:34 UTC 2025
Oct 12 01:40:41 Venus kernel: [   20.848347] NVRM: GPU 0000:01:00.0: RmInitAdapter failed! (0x25:0xffff:1545)
Oct 12 01:40:41 Venus kernel: [   20.848419] NVRM: GPU 0000:01:00.0: rm_init_adapter failed, device minor number 0
Oct 12 01:41:36 Venus kernel: [   75.328697] NVRM: GPU 0000:01:00.0: RmInitAdapter failed! (0x25:0xffff:1545)
Oct 12 01:41:36 Venus kernel: [   75.328742] NVRM: GPU 0000:01:00.0: rm_init_adapter failed, device minor number 0

The solution would be deactivate GSP - ASPM signaling using one of following way

1. Set GPU persistence mode (Most simple and recommended) along with custom systemd service to PM on after system bootup.

#sudo nvidia-smi -pm 1


2. Disable PCIe ASPM with kernel param

Add pcie-aspm=off in GRUB_CMDLINE_LINUX_DEFAULT then update-grub and reboot


3. Disable GSP feature (depending on version of driver, proprieatry vs open-kernel driver or GPU generation)

Create /etc/modprobe.d/gsp.conf 파일에 options nvidia NVreg_EnableGpuFirmware=0

Best Practices

  • 최신 버전 사용 권장
  • 공식 문서 참고
  • 테스트 환경에서 먼저 검증

References

Related Pages

Knowledge Graph

Related

→ CUDA → GPU → NVIDIA GPU → H100 → NVLink → AMD GPUs → A100 → MIG