* [PATCH 2/9] gpu/cuda: new RoyB A100T GPU ID
2025-09-15 14:41 [PATCH 1/9] gpu/cuda: add NVIDIA GPU H100 Gregory Etelson
@ 2025-09-15 14:41 ` Gregory Etelson
2025-09-15 14:41 ` [PATCH 3/9] [gpu/cuda] New NVIDIA GPU Hopper device ID on Grace Gregory Etelson
` (7 subsequent siblings)
8 siblings, 0 replies; 18+ messages in thread
From: Gregory Etelson @ 2025-09-15 14:41 UTC (permalink / raw)
To: dev; +Cc: getelson, mkashani, rasland, Elena Agostini
From: Elena Agostini <eagostini@nvidia.com>
Signed-off-by: Elena Agostini <eagostini@nvidia.com>
---
drivers/gpu/cuda/cuda.c | 8 ++++++++
drivers/gpu/cuda/devices.h | 2 ++
2 files changed, 10 insertions(+)
diff --git a/drivers/gpu/cuda/cuda.c b/drivers/gpu/cuda/cuda.c
index ff8c29f970..0af955421a 100644
--- a/drivers/gpu/cuda/cuda.c
+++ b/drivers/gpu/cuda/cuda.c
@@ -123,6 +123,14 @@ static const struct rte_pci_id pci_id_cuda_map[] = {
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
NVIDIA_GPU_GA100_PG506_217)
},
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_GA100_80GB_ROYB_EB1_DEVICE_ID)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_GA100_80GB_ROYB_DEVICE_ID)
+ },
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
NVIDIA_GPU_V100_16GB_SXM2_DEVICE_ID)
diff --git a/drivers/gpu/cuda/devices.h b/drivers/gpu/cuda/devices.h
index e45521c7cf..e138a600d6 100644
--- a/drivers/gpu/cuda/devices.h
+++ b/drivers/gpu/cuda/devices.h
@@ -27,6 +27,8 @@
#define NVIDIA_GPU_GA100_PG506_207 (0x20f0)
#define NVIDIA_GPU_GA100_PCIE (0x20f1)
#define NVIDIA_GPU_GA100_PG506_217 (0x20f2)
+#define NVIDIA_GPU_GA100_80GB_ROYB_EB1_DEVICE_ID (0x20f5)
+#define NVIDIA_GPU_GA100_80GB_ROYB_DEVICE_ID (0x20fd)
#define NVIDIA_GPU_V100_16GB_SXM2_DEVICE_ID (0x1db1)
#define NVIDIA_GPU_V100_16GB_DGXS_DEVICE_ID (0x1db2)
--
2.48.1
^ permalink raw reply related [flat|nested] 18+ messages in thread* [PATCH 3/9] [gpu/cuda] New NVIDIA GPU Hopper device ID on Grace
2025-09-15 14:41 [PATCH 1/9] gpu/cuda: add NVIDIA GPU H100 Gregory Etelson
2025-09-15 14:41 ` [PATCH 2/9] gpu/cuda: new RoyB A100T GPU ID Gregory Etelson
@ 2025-09-15 14:41 ` Gregory Etelson
2025-09-15 14:41 ` [PATCH 4/9] gpu/cuda: add new Hopper GPU IDs Gregory Etelson
` (6 subsequent siblings)
8 siblings, 0 replies; 18+ messages in thread
From: Gregory Etelson @ 2025-09-15 14:41 UTC (permalink / raw)
To: dev; +Cc: getelson, mkashani, rasland, Elena Agostini
From: Elena Agostini <eagostini@nvidia.com>
Signed-off-by: Elena Agostini <eagostini@nvidia.com>
---
drivers/gpu/cuda/cuda.c | 4 ++++
drivers/gpu/cuda/devices.h | 2 ++
2 files changed, 6 insertions(+)
diff --git a/drivers/gpu/cuda/cuda.c b/drivers/gpu/cuda/cuda.c
index 0af955421a..21c4fe9bef 100644
--- a/drivers/gpu/cuda/cuda.c
+++ b/drivers/gpu/cuda/cuda.c
@@ -251,6 +251,10 @@ static const struct rte_pci_id pci_id_cuda_map[] = {
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
NVIDIA_GPU_T4)
},
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_HOPPER_GRACE)
+ },
{
.device_id = 0
}
diff --git a/drivers/gpu/cuda/devices.h b/drivers/gpu/cuda/devices.h
index e138a600d6..5d9c7616f2 100644
--- a/drivers/gpu/cuda/devices.h
+++ b/drivers/gpu/cuda/devices.h
@@ -68,4 +68,6 @@
#define NVIDIA_GPU_T4G (0x1eb4)
#define NVIDIA_GPU_T4 (0x1eb8)
+#define NVIDIA_GPU_HOPPER_GRACE (0x2342)
+
#endif /* CUDA_DEVICES_H */
--
2.48.1
^ permalink raw reply related [flat|nested] 18+ messages in thread* [PATCH 4/9] gpu/cuda: add new Hopper GPU IDs
2025-09-15 14:41 [PATCH 1/9] gpu/cuda: add NVIDIA GPU H100 Gregory Etelson
2025-09-15 14:41 ` [PATCH 2/9] gpu/cuda: new RoyB A100T GPU ID Gregory Etelson
2025-09-15 14:41 ` [PATCH 3/9] [gpu/cuda] New NVIDIA GPU Hopper device ID on Grace Gregory Etelson
@ 2025-09-15 14:41 ` Gregory Etelson
2025-09-15 14:41 ` [PATCH 5/9] gpu/cuda: add new gpu hopper 80gb device id Gregory Etelson
` (5 subsequent siblings)
8 siblings, 0 replies; 18+ messages in thread
From: Gregory Etelson @ 2025-09-15 14:41 UTC (permalink / raw)
To: dev; +Cc: getelson, mkashani, rasland, Elena Agostini
From: Elena Agostini <eagostini@nvidia.com>
Add a new NVIDIA Hopper GPU IDs.
Signed-off-by: Elena Agostini <eagostini@nvidia.com>
---
drivers/gpu/cuda/cuda.c | 8 ++++++++
drivers/gpu/cuda/devices.h | 2 ++
2 files changed, 10 insertions(+)
diff --git a/drivers/gpu/cuda/cuda.c b/drivers/gpu/cuda/cuda.c
index 21c4fe9bef..9eb748dd2e 100644
--- a/drivers/gpu/cuda/cuda.c
+++ b/drivers/gpu/cuda/cuda.c
@@ -255,6 +255,14 @@ static const struct rte_pci_id pci_id_cuda_map[] = {
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
NVIDIA_GPU_HOPPER_GRACE)
},
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_H100_GH1_DEVICE_ID)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_H100_GH3_DEVICE_ID)
+ },
{
.device_id = 0
}
diff --git a/drivers/gpu/cuda/devices.h b/drivers/gpu/cuda/devices.h
index 5d9c7616f2..9f93132217 100644
--- a/drivers/gpu/cuda/devices.h
+++ b/drivers/gpu/cuda/devices.h
@@ -69,5 +69,7 @@
#define NVIDIA_GPU_T4 (0x1eb8)
#define NVIDIA_GPU_HOPPER_GRACE (0x2342)
+#define NVIDIA_GPU_H100_GH1_DEVICE_ID (0x2342)
+#define NVIDIA_GPU_H100_GH3_DEVICE_ID (0x237e)
#endif /* CUDA_DEVICES_H */
--
2.48.1
^ permalink raw reply related [flat|nested] 18+ messages in thread* [PATCH 5/9] gpu/cuda: add new gpu hopper 80gb device id
2025-09-15 14:41 [PATCH 1/9] gpu/cuda: add NVIDIA GPU H100 Gregory Etelson
` (2 preceding siblings ...)
2025-09-15 14:41 ` [PATCH 4/9] gpu/cuda: add new Hopper GPU IDs Gregory Etelson
@ 2025-09-15 14:41 ` Gregory Etelson
2025-09-15 14:41 ` [PATCH 6/9] gpu/cuda: more gpu ID for h100 and l40 Gregory Etelson
` (4 subsequent siblings)
8 siblings, 0 replies; 18+ messages in thread
From: Gregory Etelson @ 2025-09-15 14:41 UTC (permalink / raw)
To: dev; +Cc: getelson, mkashani, rasland, Elena Agostini
From: Elena Agostini <eagostini@nvidia.com>
Added the new Hopper 80GB GPU device ID to the list.
Signed-off-by: Elena Agostini <eagostini@nvidia.com>
---
drivers/gpu/cuda/cuda.c | 12 ++++++++----
drivers/gpu/cuda/devices.h | 3 ++-
2 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/cuda/cuda.c b/drivers/gpu/cuda/cuda.c
index 9eb748dd2e..16778e1160 100644
--- a/drivers/gpu/cuda/cuda.c
+++ b/drivers/gpu/cuda/cuda.c
@@ -63,10 +63,6 @@ RTE_LOG_REGISTER_DEFAULT(cuda_logtype, NOTICE);
/* NVIDIA GPU address map */
static const struct rte_pci_id pci_id_cuda_map[] = {
- {
- RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_H100_80GB_DEVICE_ID)
- },
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
NVIDIA_GPU_A40_DEVICE_ID)
@@ -263,6 +259,14 @@ static const struct rte_pci_id pci_id_cuda_map[] = {
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
NVIDIA_GPU_H100_GH3_DEVICE_ID)
},
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_H100_80GB_DEVICE_ID_1)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_H100_80GB_DEVICE_ID_2)
+ },
{
.device_id = 0
}
diff --git a/drivers/gpu/cuda/devices.h b/drivers/gpu/cuda/devices.h
index 9f93132217..2968da2c8f 100644
--- a/drivers/gpu/cuda/devices.h
+++ b/drivers/gpu/cuda/devices.h
@@ -10,7 +10,6 @@
/* NVIDIA GPU device IDs */
-#define NVIDIA_GPU_H100_80GB_DEVICE_ID (0x2313)
#define NVIDIA_GPU_A40_DEVICE_ID (0x2235)
#define NVIDIA_GPU_A30_24GB_DEVICE_ID (0x20b7)
#define NVIDIA_GPU_A30X_24GB_DPU_DEVICE_ID (0x20b9)
@@ -71,5 +70,7 @@
#define NVIDIA_GPU_HOPPER_GRACE (0x2342)
#define NVIDIA_GPU_H100_GH1_DEVICE_ID (0x2342)
#define NVIDIA_GPU_H100_GH3_DEVICE_ID (0x237e)
+#define NVIDIA_GPU_H100_80GB_DEVICE_ID_1 (0x2331)
+#define NVIDIA_GPU_H100_80GB_DEVICE_ID_2 (0x2313)
#endif /* CUDA_DEVICES_H */
--
2.48.1
^ permalink raw reply related [flat|nested] 18+ messages in thread* [PATCH 6/9] gpu/cuda: more gpu ID for h100 and l40
2025-09-15 14:41 [PATCH 1/9] gpu/cuda: add NVIDIA GPU H100 Gregory Etelson
` (3 preceding siblings ...)
2025-09-15 14:41 ` [PATCH 5/9] gpu/cuda: add new gpu hopper 80gb device id Gregory Etelson
@ 2025-09-15 14:41 ` Gregory Etelson
2026-03-04 13:17 ` Maurice Green
2025-09-15 14:41 ` [PATCH 7/9] gpu/cuda: extend NVIDIA GPU device ID list Gregory Etelson
` (3 subsequent siblings)
8 siblings, 1 reply; 18+ messages in thread
From: Gregory Etelson @ 2025-09-15 14:41 UTC (permalink / raw)
To: dev; +Cc: getelson, mkashani, rasland, Elena Agostini
From: Elena Agostini <eagostini@nvidia.com>
More gpu devices for h100 and l40
Signed-off-by: Elena Agostini <eagostini@nvidia.com>
---
drivers/gpu/cuda/cuda.c | 66 ++++++++++++++++++++++++++++++++++----
drivers/gpu/cuda/devices.h | 23 ++++++++++---
2 files changed, 78 insertions(+), 11 deletions(-)
diff --git a/drivers/gpu/cuda/cuda.c b/drivers/gpu/cuda/cuda.c
index 16778e1160..a94c4baa64 100644
--- a/drivers/gpu/cuda/cuda.c
+++ b/drivers/gpu/cuda/cuda.c
@@ -87,6 +87,10 @@ static const struct rte_pci_id pci_id_cuda_map[] = {
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
NVIDIA_GPU_A10M_DEVICE_ID)
},
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_A800_DEVICE_ID)
+ },
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
NVIDIA_GPU_A100_40GB_SXM4_DEVICE_ID)
@@ -121,11 +125,23 @@ static const struct rte_pci_id pci_id_cuda_map[] = {
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_GA100_80GB_ROYB_EB1_DEVICE_ID)
+ NVIDIA_GPU_A800_80GB_SXM_DEVICE_ID)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_A800_80GB_DEVICE_ID)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_A800_40GB_DEVICE_ID)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_A800_80GB_ROYB_DEVICE_ID)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_GA100_80GB_ROYB_DEVICE_ID)
+ NVIDIA_GPU_GA100_80GB_ROYB_DEVICE_ID)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
@@ -249,23 +265,59 @@ static const struct rte_pci_id pci_id_cuda_map[] = {
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_HOPPER_GRACE)
+ NVIDIA_GPU_H100_GH1_DEVICE_ID)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_H100_GH1_DEVICE_ID)
+ NVIDIA_GPU_H100_GH3_DEVICE_ID)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_H100_GH3_DEVICE_ID)
+ NVIDIA_GPU_H100L_DEVICE_ID)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_H100XM_DEVICE_ID)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_H100_PCIE_DEVICE_ID)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_H100_GENERIC_DEVICE_ID)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_H100_80GB_DEVICE_ID)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_H800_PCIE_DEVICE_ID)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_H800_DEVICE_ID)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_H800L_DEVICE_ID)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_L40_DEVICE_ID)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_L40S_DEVICE_ID)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_H100_80GB_DEVICE_ID_1)
+ NVIDIA_GPU_L40G_DEVICE_ID)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_H100_80GB_DEVICE_ID_2)
+ NVIDIA_GPU_L4_DEVICE_ID)
},
{
.device_id = 0
diff --git a/drivers/gpu/cuda/devices.h b/drivers/gpu/cuda/devices.h
index 2968da2c8f..9b5299f3f1 100644
--- a/drivers/gpu/cuda/devices.h
+++ b/drivers/gpu/cuda/devices.h
@@ -16,6 +16,7 @@
#define NVIDIA_GPU_A10_24GB_DEVICE_ID (0x2236)
#define NVIDIA_GPU_A10G_DEVICE_ID (0x2237)
#define NVIDIA_GPU_A10M_DEVICE_ID (0x2238)
+#define NVIDIA_GPU_A800_DEVICE_ID (0x2238)
#define NVIDIA_GPU_A100_40GB_SXM4_DEVICE_ID (0x20b0)
#define NVIDIA_GPU_A100_40GB_PCIE_DEVICE_ID (0x20b1)
@@ -26,7 +27,10 @@
#define NVIDIA_GPU_GA100_PG506_207 (0x20f0)
#define NVIDIA_GPU_GA100_PCIE (0x20f1)
#define NVIDIA_GPU_GA100_PG506_217 (0x20f2)
-#define NVIDIA_GPU_GA100_80GB_ROYB_EB1_DEVICE_ID (0x20f5)
+#define NVIDIA_GPU_A800_80GB_SXM_DEVICE_ID (0x20f3)
+#define NVIDIA_GPU_A800_80GB_DEVICE_ID (0x20f5)
+#define NVIDIA_GPU_A800_40GB_DEVICE_ID (0x20f6)
+#define NVIDIA_GPU_A800_80GB_ROYB_DEVICE_ID (0x20bd)
#define NVIDIA_GPU_GA100_80GB_ROYB_DEVICE_ID (0x20fd)
#define NVIDIA_GPU_V100_16GB_SXM2_DEVICE_ID (0x1db1)
@@ -67,10 +71,21 @@
#define NVIDIA_GPU_T4G (0x1eb4)
#define NVIDIA_GPU_T4 (0x1eb8)
-#define NVIDIA_GPU_HOPPER_GRACE (0x2342)
#define NVIDIA_GPU_H100_GH1_DEVICE_ID (0x2342)
#define NVIDIA_GPU_H100_GH3_DEVICE_ID (0x237e)
-#define NVIDIA_GPU_H100_80GB_DEVICE_ID_1 (0x2331)
-#define NVIDIA_GPU_H100_80GB_DEVICE_ID_2 (0x2313)
+#define NVIDIA_GPU_H100L_DEVICE_ID (0x2321)
+#define NVIDIA_GPU_H100XM_DEVICE_ID (0x2330)
+#define NVIDIA_GPU_H100_PCIE_DEVICE_ID (0x2331)
+#define NVIDIA_GPU_H100_GENERIC_DEVICE_ID (0x2339)
+#define NVIDIA_GPU_H100_80GB_DEVICE_ID (0x2313)
+#define NVIDIA_GPU_H800_PCIE_DEVICE_ID (0x2322)
+#define NVIDIA_GPU_H800_DEVICE_ID (0x2324)
+#define NVIDIA_GPU_H800L_DEVICE_ID (0x233a)
+
+#define NVIDIA_GPU_L40_DEVICE_ID (0x26b5)
+#define NVIDIA_GPU_L40S_DEVICE_ID (0x26b9)
+#define NVIDIA_GPU_L40G_DEVICE_ID (0x26b8)
+
+#define NVIDIA_GPU_L4_DEVICE_ID (0x27b8)
#endif /* CUDA_DEVICES_H */
--
2.48.1
^ permalink raw reply related [flat|nested] 18+ messages in thread* [PATCH 7/9] gpu/cuda: extend NVIDIA GPU device ID list
2025-09-15 14:41 [PATCH 1/9] gpu/cuda: add NVIDIA GPU H100 Gregory Etelson
` (4 preceding siblings ...)
2025-09-15 14:41 ` [PATCH 6/9] gpu/cuda: more gpu ID for h100 and l40 Gregory Etelson
@ 2025-09-15 14:41 ` Gregory Etelson
2025-09-17 10:03 ` Thomas Monjalon
2025-09-15 14:41 ` [PATCH 8/9] " Gregory Etelson
` (2 subsequent siblings)
8 siblings, 1 reply; 18+ messages in thread
From: Gregory Etelson @ 2025-09-15 14:41 UTC (permalink / raw)
To: dev; +Cc: getelson, mkashani, rasland, eagostini
From: eagostini <eagostini@nvidia.com>
Add new NVIDIA GPU IDs taken from public driver list.
https://github.com/NVIDIA/open-gpu-kernel-modules/blob/e45d91de0224e17a6bf7c971d8f165090b3c07a6/src/nvidia/generated/g_nv_name_released.h
Signed-off-by: eagostini <eagostini@nvidia.com>
---
drivers/gpu/cuda/cuda.c | 240 +++++++++++++++++++++++++++----------
drivers/gpu/cuda/devices.h | 151 ++++++++++++-----------
2 files changed, 264 insertions(+), 127 deletions(-)
diff --git a/drivers/gpu/cuda/cuda.c b/drivers/gpu/cuda/cuda.c
index a94c4baa64..fb8aaf67fc 100644
--- a/drivers/gpu/cuda/cuda.c
+++ b/drivers/gpu/cuda/cuda.c
@@ -65,35 +65,79 @@ RTE_LOG_REGISTER_DEFAULT(cuda_logtype, NOTICE);
static const struct rte_pci_id pci_id_cuda_map[] = {
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_A40_DEVICE_ID)
+ NVIDIA_GPU_M40_24GB)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_A30_24GB_DEVICE_ID)
+ NVIDIA_GPU_V100_32GB_SXM3_H_DEVICE_ID)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_A30X_24GB_DPU_DEVICE_ID)
+ NVIDIA_GPU_TITAN_V_CEO_ED)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_TITAN_Xp_COLLECTORS_EDITION)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_V100_SXM2_16GB_LS)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_V100_16GB_DGXS_DEVICE_ID)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_V100_16GB_FHHL_DEVICE_ID)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_V100_PCIE_16GB_LS)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_V100_SXM2_32GB_LS)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_V100_32GB_PCIE_DEVICE_ID)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_V100_32GB_DGXS_DEVICE_ID)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_A10_24GB_DEVICE_ID)
+ NVIDIA_GPU_V100_SXM3_32GB_H)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_A10G_DEVICE_ID)
+ NVIDIA_TITAN_V_JHH_SE)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_A10M_DEVICE_ID)
+ NVIDIA_T1000)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_A800_DEVICE_ID)
+ NVIDIA_T600)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_A100_40GB_SXM4_DEVICE_ID)
+ NVIDIA_T400)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_T1000_8GB)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_T400_4GB)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_A100_PG509_200)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
@@ -101,23 +145,39 @@ static const struct rte_pci_id pci_id_cuda_map[] = {
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_A100_80GB_SXM4_DEVICE_ID)
+ NVIDIA_A100_SXM4_80GB)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_A100_SXM_64GB)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_A100_80GB_PCIE_DEVICE_ID)
+ NVIDIA_A100_80GB_PCIe)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_PG506_232)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_A30)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
NVIDIA_GPU_A100X_80GB_DPU_DEVICE_ID)
},
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_A30X_24GB_DPU_DEVICE_ID)
+ },
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
NVIDIA_GPU_GA100_PG506_207)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_GA100_PCIE)
+ NVIDIA_A100_PCIE_40GB)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
@@ -125,199 +185,259 @@ static const struct rte_pci_id pci_id_cuda_map[] = {
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_A800_80GB_SXM_DEVICE_ID)
+ NVIDIA_A800_SXM4_80GB)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_A800_80GB_DEVICE_ID)
+ NVIDIA_A800_80GB_PCIe)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_A800_40GB_DEVICE_ID)
+ NVIDIA_A800_40GB_Active)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_A800_80GB_ROYB_DEVICE_ID)
+ NVIDIA_A800_SXM4_40GB)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_GA100_80GB_ROYB_DEVICE_ID)
+ NVIDIA_AX800)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_V100_16GB_SXM2_DEVICE_ID)
+ NVIDIA_GPU_QUADRO_RTX_6000)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_V100_16GB_DGXS_DEVICE_ID)
+ NVIDIA_GPU_QUADRO_RTX_8000)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_V100_16GB_FHHL_DEVICE_ID)
+ NVIDIA_RTX_A6000)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_V100_16GB_PCIE_DEVICE_ID)
+ NVIDIA_RTX_A5000)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_V100_32GB_SXM2_DEVICE_ID)
+ NVIDIA_RTX_A4500)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_V100_32GB_PCIE_DEVICE_ID)
+ NVIDIA_RTX_A4500_LAPTOP)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_V100_32GB_DGXS_DEVICE_ID)
+ NVIDIA_RTX_A4500_EMBEDDED)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_V100_32GB_SXM3_DEVICE_ID)
+ NVIDIA_RTX_A5500)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_V100_32GB_SXM3_H_DEVICE_ID)
+ NVIDIA_A40)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_V100_SXM2)
+ NVIDIA_A10)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_V100S_PCIE)
+ NVIDIA_A10G)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_TITAN_V_CEO_ED)
+ NVIDIA_A10M)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_GV100GL_PG500_216)
+ NVIDIA_H100_NVL)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_GV100GL_PG503_216)
+ NVIDIA_H800_PCIe)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_TU102_TITAN_RTX)
+ NVIDIA_H800)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_TU102GL_QUADRO_RTX)
+ NVIDIA_H20)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_GV100_QUADRO_DEVICE_ID)
+ NVIDIA_H100_80GB_HBM3)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_QUADRO_RTX_4000)
+ NVIDIA_H100_PCIe)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_QUADRO_RTX_5000)
+ NVIDIA_GPU_H100_80GB_DEVICE_ID)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_QUADRO_RTX_6000)
+ NVIDIA_H200)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_QUADRO_RTX_8000)
+ NVIDIA_H100)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_H800_NVL)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_QUADRO_RTX_A4000)
+ NVIDIA_GH200_120GB)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_QUADRO_RTX_A6000)
+ NVIDIA_GPU_H100_GH3_DEVICE_ID)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_QUADRO_RTX_A5000)
+ NVIDIA_RTX_A4000)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_QUADRO_RTX_A4500)
+ NVIDIA_RTX_A4000H)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_QUADRO_RTX_A5500)
+ NVIDIA_RTX_A2000)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_QUADRO_RTX_A2000)
+ NVIDIA_RTX_A2000_12GB)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_QUADRO_RTX_A2000_12GB)
+ NVIDIA_RTX_A1000)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_T4G)
+ NVIDIA_RTX_A400)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_T4)
+ NVIDIA_A16)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_H100_GH1_DEVICE_ID)
+ NVIDIA_RTX_6000_ADA)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_H100_GH3_DEVICE_ID)
+ NVIDIA_RTX_5000_ADA)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_5880_ADA)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_L40)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_L40G_1B)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_L40S)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_L20)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_4000_SFF_ADA)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_H100L_DEVICE_ID)
+ NVIDIA_RTX_4500_ADA)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_H100XM_DEVICE_ID)
+ NVIDIA_RTX_4000_ADA)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_H100_PCIE_DEVICE_ID)
+ NVIDIA_L2)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_H100_GENERIC_DEVICE_ID)
+ NVIDIA_L4)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_H100_80GB_DEVICE_ID)
+ NVIDIA_RTX_2000_ADA)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_H800_PCIE_DEVICE_ID)
+ NVIDIA_GPU_GRID_M10_0B)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_H800_DEVICE_ID)
+ NVIDIA_GPU_GRID_V100L_1B)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_H800L_DEVICE_ID)
+ NVIDIA_GPU_GV100GL_PG500_216)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_GV100GL_PG503_216)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_V100_SXM2)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_GRID_V100S_1B)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_L40_DEVICE_ID)
+ NVIDIA_GPU_GRID_RTX6000_1Q)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_L40S_DEVICE_ID)
+ NVIDIA_GPU_GRID_RTX_T10_4)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_GRID_RTX6000P_1B)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_TU102_TITAN_RTX)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_QUADRO_RTX_4000)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_QUADRO_RTX_5000)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_GPU_T4G)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_L40G_DEVICE_ID)
+ NVIDIA_GPU_GRID_T4_1B)
},
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_GPU_L4_DEVICE_ID)
+ NVIDIA_H100XS_1_8CME)
},
{
.device_id = 0
diff --git a/drivers/gpu/cuda/devices.h b/drivers/gpu/cuda/devices.h
index 9b5299f3f1..bc096bc4cf 100644
--- a/drivers/gpu/cuda/devices.h
+++ b/drivers/gpu/cuda/devices.h
@@ -10,82 +10,99 @@
/* NVIDIA GPU device IDs */
-#define NVIDIA_GPU_A40_DEVICE_ID (0x2235)
-#define NVIDIA_GPU_A30_24GB_DEVICE_ID (0x20b7)
-#define NVIDIA_GPU_A30X_24GB_DPU_DEVICE_ID (0x20b9)
-#define NVIDIA_GPU_A10_24GB_DEVICE_ID (0x2236)
-#define NVIDIA_GPU_A10G_DEVICE_ID (0x2237)
-#define NVIDIA_GPU_A10M_DEVICE_ID (0x2238)
-#define NVIDIA_GPU_A800_DEVICE_ID (0x2238)
-
-#define NVIDIA_GPU_A100_40GB_SXM4_DEVICE_ID (0x20b0)
-#define NVIDIA_GPU_A100_40GB_PCIE_DEVICE_ID (0x20b1)
-#define NVIDIA_GPU_A100_80GB_SXM4_DEVICE_ID (0x20b2)
-#define NVIDIA_GPU_A100_80GB_PCIE_DEVICE_ID (0x20b5)
-#define NVIDIA_GPU_A100X_80GB_DPU_DEVICE_ID (0x20b8)
-
-#define NVIDIA_GPU_GA100_PG506_207 (0x20f0)
-#define NVIDIA_GPU_GA100_PCIE (0x20f1)
-#define NVIDIA_GPU_GA100_PG506_217 (0x20f2)
-#define NVIDIA_GPU_A800_80GB_SXM_DEVICE_ID (0x20f3)
-#define NVIDIA_GPU_A800_80GB_DEVICE_ID (0x20f5)
-#define NVIDIA_GPU_A800_40GB_DEVICE_ID (0x20f6)
-#define NVIDIA_GPU_A800_80GB_ROYB_DEVICE_ID (0x20bd)
-#define NVIDIA_GPU_GA100_80GB_ROYB_DEVICE_ID (0x20fd)
-
-#define NVIDIA_GPU_V100_16GB_SXM2_DEVICE_ID (0x1db1)
+#define NVIDIA_GPU_M40_24GB (0x17fd)
+#define NVIDIA_GPU_V100_32GB_SXM3_H_DEVICE_ID (0x131d)
+#define NVIDIA_GPU_TITAN_V_CEO_ED (0x12eb)
+#define NVIDIA_TITAN_Xp_COLLECTORS_EDITION (0x1b02)
+#define NVIDIA_GPU_V100_SXM2_16GB_LS (0x1db1)
#define NVIDIA_GPU_V100_16GB_DGXS_DEVICE_ID (0x1db2)
#define NVIDIA_GPU_V100_16GB_FHHL_DEVICE_ID (0x1db3)
-#define NVIDIA_GPU_V100_16GB_PCIE_DEVICE_ID (0x1db4)
-
-#define NVIDIA_GPU_V100_32GB_SXM2_DEVICE_ID (0x1db5)
+#define NVIDIA_GPU_V100_PCIE_16GB_LS (0x1db4)
+#define NVIDIA_GPU_V100_SXM2_32GB_LS (0x1db5)
#define NVIDIA_GPU_V100_32GB_PCIE_DEVICE_ID (0x1db6)
#define NVIDIA_GPU_V100_32GB_DGXS_DEVICE_ID (0x1db7)
-#define NVIDIA_GPU_V100_32GB_SXM3_DEVICE_ID (0x1db8)
-#define NVIDIA_GPU_V100_32GB_SXM3_H_DEVICE_ID (0x131d)
-
-#define NVIDIA_GPU_V100_SXM2 (0x1df5)
-#define NVIDIA_GPU_V100S_PCIE (0x1df6)
-
-#define NVIDIA_GPU_TITAN_V_CEO_ED (0x12eb)
-
+#define NVIDIA_GPU_V100_SXM3_32GB_H (0x1db8)
+#define NVIDIA_TITAN_V_JHH_SE (0x1dba)
+#define NVIDIA_T1000 (0x1fb0)
+#define NVIDIA_T600 (0x1fb1)
+#define NVIDIA_T400 (0x1fb2)
+#define NVIDIA_T1000_8GB (0x1ff0)
+#define NVIDIA_T400_4GB (0x1ff2)
+#define NVIDIA_A100_PG509_200 (0x20b0)
+#define NVIDIA_GPU_A100_40GB_PCIE_DEVICE_ID (0x20b1)
+#define NVIDIA_A100_SXM4_80GB (0x20b2)
+#define NVIDIA_A100_SXM_64GB (0x20b3)
+#define NVIDIA_A100_80GB_PCIe (0x20b5)
+#define NVIDIA_PG506_232 (0x20b6)
+#define NVIDIA_A30 (0x20b7)
+#define NVIDIA_GPU_A100X_80GB_DPU_DEVICE_ID (0x20b8)
+#define NVIDIA_GPU_A30X_24GB_DPU_DEVICE_ID (0x20b9)
+#define NVIDIA_GPU_GA100_PG506_207 (0x20f0)
+#define NVIDIA_A100_PCIE_40GB (0x20f1)
+#define NVIDIA_GPU_GA100_PG506_217 (0x20f2)
+#define NVIDIA_A800_SXM4_80GB (0x20f3)
+#define NVIDIA_A800_80GB_PCIe (0x20f5)
+#define NVIDIA_A800_40GB_Active (0x20f6)
+#define NVIDIA_A800_SXM4_40GB (0x20bd)
+#define NVIDIA_AX800 (0x20fd)
+#define NVIDIA_GPU_QUADRO_RTX_6000 (0x13d9)
+#define NVIDIA_GPU_QUADRO_RTX_8000 (0x13d8)
+#define NVIDIA_RTX_A6000 (0x2230)
+#define NVIDIA_RTX_A5000 (0x2231)
+#define NVIDIA_RTX_A4500 (0x2232)
+#define NVIDIA_RTX_A4500_LAPTOP (0x24ba)
+#define NVIDIA_RTX_A4500_EMBEDDED (0x24fa)
+#define NVIDIA_RTX_A5500 (0x2233)
+#define NVIDIA_A40 (0x2235)
+#define NVIDIA_A10 (0x2236)
+#define NVIDIA_A10G (0x2237)
+#define NVIDIA_A10M (0x2238)
+#define NVIDIA_H100_NVL (0x2321)
+#define NVIDIA_H800_PCIe (0x2322)
+#define NVIDIA_H800 (0x2324)
+#define NVIDIA_H20 (0x2329)
+#define NVIDIA_H100_80GB_HBM3 (0x2330)
+#define NVIDIA_H100_PCIe (0x2331)
+#define NVIDIA_GPU_H100_80GB_DEVICE_ID (0x2313)
+#define NVIDIA_H200 (0x2335)
+#define NVIDIA_H100 (0x2339)
+#define NVIDIA_H800_NVL (0x233a)
+#define NVIDIA_GH200_120GB (0x2342)
+#define NVIDIA_GPU_H100_GH3_DEVICE_ID (0x237e)
+#define NVIDIA_RTX_A4000 (0x24b0)
+#define NVIDIA_RTX_A4000H (0x24b1)
+#define NVIDIA_RTX_A2000 (0x2531)
+#define NVIDIA_RTX_A2000_12GB (0x2571)
+#define NVIDIA_RTX_A1000 (0x25b0)
+#define NVIDIA_RTX_A400 (0x25b2)
+#define NVIDIA_A16 (0x25b6)
+#define NVIDIA_RTX_6000_ADA (0x26b1)
+#define NVIDIA_RTX_5000_ADA (0x26b2)
+#define NVIDIA_RTX_5880_ADA (0x26b3)
+#define NVIDIA_L40 (0x26b5)
+#define NVIDIA_L40G_1B (0x26b8)
+#define NVIDIA_L40S (0x26b9)
+#define NVIDIA_L20 (0x26ba)
+#define NVIDIA_RTX_4000_SFF_ADA (0x27b0)
+#define NVIDIA_RTX_4500_ADA (0x27b1)
+#define NVIDIA_RTX_4000_ADA (0x27b2)
+#define NVIDIA_L2 (0x27b6)
+#define NVIDIA_L4 (0x27b8)
+#define NVIDIA_RTX_2000_ADA (0x28b0)
+#define NVIDIA_GPU_GRID_M10_0B (0x13bd)
+#define NVIDIA_GPU_GRID_V100L_1B (0x1db3)
#define NVIDIA_GPU_GV100GL_PG500_216 (0x1df0)
#define NVIDIA_GPU_GV100GL_PG503_216 (0x1df2)
-
+#define NVIDIA_GPU_V100_SXM2 (0x1df5)
+#define NVIDIA_GPU_GRID_V100S_1B (0x1df6)
+#define NVIDIA_GPU_GRID_RTX6000_1Q (0x1e30)
+#define NVIDIA_GPU_GRID_RTX_T10_4 (0x1e37)
+#define NVIDIA_GPU_GRID_RTX6000P_1B (0x1e78)
#define NVIDIA_GPU_TU102_TITAN_RTX (0x1e02)
-#define NVIDIA_GPU_TU102GL_QUADRO_RTX (0x1e78)
-
-#define NVIDIA_GPU_GV100_QUADRO_DEVICE_ID (0x1dba)
#define NVIDIA_GPU_QUADRO_RTX_4000 (0x1eb1)
#define NVIDIA_GPU_QUADRO_RTX_5000 (0x1eb0)
-#define NVIDIA_GPU_QUADRO_RTX_6000 (0x13d9)
-#define NVIDIA_GPU_QUADRO_RTX_8000 (0x13d8)
-#define NVIDIA_GPU_QUADRO_RTX_A4000 (0x24b0)
-#define NVIDIA_GPU_QUADRO_RTX_A6000 (0x2230)
-#define NVIDIA_GPU_QUADRO_RTX_A5000 (0x2231)
-#define NVIDIA_GPU_QUADRO_RTX_A4500 (0x2232)
-#define NVIDIA_GPU_QUADRO_RTX_A5500 (0x2233)
-#define NVIDIA_GPU_QUADRO_RTX_A2000 (0x2531)
-#define NVIDIA_GPU_QUADRO_RTX_A2000_12GB (0x2571)
-
#define NVIDIA_GPU_T4G (0x1eb4)
-#define NVIDIA_GPU_T4 (0x1eb8)
-
-#define NVIDIA_GPU_H100_GH1_DEVICE_ID (0x2342)
-#define NVIDIA_GPU_H100_GH3_DEVICE_ID (0x237e)
-#define NVIDIA_GPU_H100L_DEVICE_ID (0x2321)
-#define NVIDIA_GPU_H100XM_DEVICE_ID (0x2330)
-#define NVIDIA_GPU_H100_PCIE_DEVICE_ID (0x2331)
-#define NVIDIA_GPU_H100_GENERIC_DEVICE_ID (0x2339)
-#define NVIDIA_GPU_H100_80GB_DEVICE_ID (0x2313)
-
-#define NVIDIA_GPU_H800_PCIE_DEVICE_ID (0x2322)
-#define NVIDIA_GPU_H800_DEVICE_ID (0x2324)
-#define NVIDIA_GPU_H800L_DEVICE_ID (0x233a)
-
-#define NVIDIA_GPU_L40_DEVICE_ID (0x26b5)
-#define NVIDIA_GPU_L40S_DEVICE_ID (0x26b9)
-#define NVIDIA_GPU_L40G_DEVICE_ID (0x26b8)
+#define NVIDIA_GPU_GRID_T4_1B (0x1eb8)
+#define NVIDIA_H100XS_1_8CME (0x2337)
-#define NVIDIA_GPU_L4_DEVICE_ID (0x27b8)
#endif /* CUDA_DEVICES_H */
--
2.48.1
^ permalink raw reply related [flat|nested] 18+ messages in thread* Re: [PATCH 7/9] gpu/cuda: extend NVIDIA GPU device ID list
2025-09-15 14:41 ` [PATCH 7/9] gpu/cuda: extend NVIDIA GPU device ID list Gregory Etelson
@ 2025-09-17 10:03 ` Thomas Monjalon
2026-03-04 13:28 ` Maurice Green
0 siblings, 1 reply; 18+ messages in thread
From: Thomas Monjalon @ 2025-09-17 10:03 UTC (permalink / raw)
To: Gregory Etelson; +Cc: dev, mkashani, rasland, eagostini
15/09/2025 16:41, Gregory Etelson:
> From: eagostini <eagostini@nvidia.com>
>
> Add new NVIDIA GPU IDs taken from public driver list.
> https://github.com/NVIDIA/open-gpu-kernel-modules/blob/e45d91de0224e17a6bf7c971d8f165090b3c07a6/src/nvidia/generated/g_nv_name_released.h
It is not synchronized.
For instance, there are new Blackwell, H20, etc.
I feel we can scratch all these patches and do 1 well synchronized,
and documenting a sync command as code comment.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 7/9] gpu/cuda: extend NVIDIA GPU device ID list
2025-09-17 10:03 ` Thomas Monjalon
@ 2026-03-04 13:28 ` Maurice Green
2026-03-04 14:06 ` Thomas Monjalon
0 siblings, 1 reply; 18+ messages in thread
From: Maurice Green @ 2026-03-04 13:28 UTC (permalink / raw)
To: thomas; +Cc: dev, eagostini, getelson, mkashani, rasland
On Wed, 17 Sep 2025, Thomas Monjalon wrote:
> I feel we can scratch all these patches and do 1 well synchronized,
> and documenting a sync command as code comment.
Agreed. I also noticed 0x1df6 in this patch is already present in
main. I would be happy to submit a replacement patch doing a full
sync with the NVIDIA open kernel modules device list if that is useful.
Having the updated device IDs for this driver would really help.
Maurice Green <maurice.green@mauricegreenjr.com>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 7/9] gpu/cuda: extend NVIDIA GPU device ID list
2026-03-04 13:28 ` Maurice Green
@ 2026-03-04 14:06 ` Thomas Monjalon
2026-03-04 22:50 ` Maurice Green
0 siblings, 1 reply; 18+ messages in thread
From: Thomas Monjalon @ 2026-03-04 14:06 UTC (permalink / raw)
To: Maurice Green; +Cc: dev, eagostini, getelson, mkashani, rasland
04/03/2026 14:28, Maurice Green:
> On Wed, 17 Sep 2025, Thomas Monjalon wrote:
> > I feel we can scratch all these patches and do 1 well synchronized,
> > and documenting a sync command as code comment.
>
> Agreed. I also noticed 0x1df6 in this patch is already present in
> main. I would be happy to submit a replacement patch doing a full
> sync with the NVIDIA open kernel modules device list if that is useful.
> Having the updated device IDs for this driver would really help.
>
> Maurice Green <maurice.green@mauricegreenjr.com>
I had started to work on it.
An abstract to see how it looks like:
+#define NVIDIA_GPU_GV100GL_TESLA_SXM2_16 0x1db0 /* Tesla V100 SXM2 16GB */
+#define NVIDIA_GPU_GV100GL_TESLA_SXM2_16_LS 0x1db1 /* Tesla V100 SXM2 16GB LS / GRID V100X */
+#define NVIDIA_GPU_GV100GL_TESLA_DGXS_16 0x1db2 /* Tesla V100 DGXS 16GB */
+#define NVIDIA_GPU_GV100GL_TESLA_FHHL_16 0x1db3 /* Tesla V100 FHHL 16GB / GRID V100L */
+#define NVIDIA_GPU_GV100GL_TESLA_PCIE_16_LS 0x1db4 /* Tesla V100 PCIe 16GB LS / GRID V100 */
+#define NVIDIA_GPU_GV100GL_TESLA_SXM2_32_LS 0x1db5 /* Tesla V100 SXM2 32GB LS / GRID V100DX */
+#define NVIDIA_GPU_GV100GL_TESLA_PCIE_32 0x1db6 /* Tesla V100 PCIe 32GB / GRID V100D */
+#define NVIDIA_GPU_GV100GL_TESLA_DGXS_32 0x1db7 /* Tesla V100 DGXS 32GB */
+#define NVIDIA_GPU_GV100GL_TESLA_SXM3_32_H 0x1db8 /* Tesla V100 SXM3 32GB H */
And others with partial name:
+#define NVIDIA_GPU_GA100 0x20b8 /* A100X 80GB DPU */
+#define NVIDIA_GPU_GA100 0x20b9 /* A30X 24GB DPU */
+#define NVIDIA_GPU_GA100 0x20bb /* DRIVE A100 PROD */
+#define NVIDIA_GPU_GA100 0x20bd /* A800 SXM4 40GB */
+#define NVIDIA_GPU_GA100 0x20be /* GRID A100A */
+#define NVIDIA_GPU_GA100 0x20bf /* GRID A100B */
+#define NVIDIA_GPU_GA100 0x20c2 /* CMP 170HX */
+#define NVIDIA_GPU_GA100 0x20f0 /* A100 PG506-207 */
+#define NVIDIA_GPU_GA100 0x20f1 /* A100 PCIe 40GB / GRID A100 */
+#define NVIDIA_GPU_GA100 0x20f2 /* A100 PG506-217 */
+#define NVIDIA_GPU_GA100 0x20f3 /* A800 SXM4 80GB / GRID A800DX */
+#define NVIDIA_GPU_GA100 0x20f5 /* A800 80GB PCIe / GRID A800D */
+#define NVIDIA_GPU_GA100 0x20f6 /* A800 40GB PCIe / GRID A800 */
+#define NVIDIA_GPU_GA100 0x20fd /* AX800 Converged Accelerator */
[...]
+#define NVIDIA_GPU_GH100 0x232c /* H20 HBM3e */
+#define NVIDIA_GPU_GH100 0x2330 /* H100 SXM5 80GB */
+#define NVIDIA_GPU_GH100 0x2331 /* H100 PCIe */
+#define NVIDIA_GPU_GH100 0x2335 /* H200 SXM 141GB */
As you can see it requires knowledge to get the right name for each ID.
Not everything is in https://pci-ids.ucw.cz/
https://github.com/NVIDIA/open-gpu-kernel-modules is a good source but not perfect as well.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 7/9] gpu/cuda: extend NVIDIA GPU device ID list
2026-03-04 14:06 ` Thomas Monjalon
@ 2026-03-04 22:50 ` Maurice Green
2026-03-05 13:59 ` Thomas Monjalon
0 siblings, 1 reply; 18+ messages in thread
From: Maurice Green @ 2026-03-04 22:50 UTC (permalink / raw)
To: thomas; +Cc: dev, eagostini, getelson, mkashani, rasland
> +#define NVIDIA_GPU_GH100 0x2335 /* H200 SXM 141GB */
>
> As you can see it requires knowledge to get the right name for each ID.
> Not everything is in https://pci-ids.ucw.cz/
> https://github.com/NVIDIA/open-gpu-kernel-modules is a good source but not perfect as well.
Right, the naming is a little tricky since neither source is fully complete.
I wrote a sync script that cross-references the PCI ID DB and OKM repo to
construct unique macro names. For the few entries with totally identical
descriptions across both sources, the device ID is appended as a fallback.
Here is an example for the GH100 family:
#define NVIDIA_GPU_GH100_H20 0x2329 /* H20 */
#define NVIDIA_GPU_GH100_H20_HBM3E 0x232c /* H20 HBM3e */
#define NVIDIA_GPU_GH100_H100_SXM5_80GB 0x2330 /* H100 SXM5 80GB */
#define NVIDIA_GPU_GH100_H100_PCIE 0x2331 /* H100 PCIe */
#define NVIDIA_GPU_GH100_H200_SXM_141GB 0x2335 /* H200 SXM 141GB */
#define NVIDIA_GPU_GH100_H100 0x2336 /* H100 */
The script also updates pci_id_cuda_map[] in cuda.c and I wrote a
test to verify both files are consistent.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 7/9] gpu/cuda: extend NVIDIA GPU device ID list
2026-03-04 22:50 ` Maurice Green
@ 2026-03-05 13:59 ` Thomas Monjalon
0 siblings, 0 replies; 18+ messages in thread
From: Thomas Monjalon @ 2026-03-05 13:59 UTC (permalink / raw)
To: Maurice Green; +Cc: dev, eagostini, getelson, mkashani, rasland
04/03/2026 23:50, Maurice Green:
> > +#define NVIDIA_GPU_GH100 0x2335 /* H200 SXM 141GB */
> >
> > As you can see it requires knowledge to get the right name for each ID.
> > Not everything is in https://pci-ids.ucw.cz/
> > https://github.com/NVIDIA/open-gpu-kernel-modules is a good source but not perfect as well.
>
> Right, the naming is a little tricky since neither source is fully complete.
> I wrote a sync script that cross-references the PCI ID DB and OKM repo to
> construct unique macro names. For the few entries with totally identical
> descriptions across both sources, the device ID is appended as a fallback.
> Here is an example for the GH100 family:
>
> #define NVIDIA_GPU_GH100_H20 0x2329 /* H20 */
> #define NVIDIA_GPU_GH100_H20_HBM3E 0x232c /* H20 HBM3e */
> #define NVIDIA_GPU_GH100_H100_SXM5_80GB 0x2330 /* H100 SXM5 80GB */
> #define NVIDIA_GPU_GH100_H100_PCIE 0x2331 /* H100 PCIe */
> #define NVIDIA_GPU_GH100_H200_SXM_141GB 0x2335 /* H200 SXM 141GB */
> #define NVIDIA_GPU_GH100_H100 0x2336 /* H100 */
That's interesting.
How do you suggest to fill the gaps in these databases?
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 8/9] gpu/cuda: extend NVIDIA GPU device ID list
2025-09-15 14:41 [PATCH 1/9] gpu/cuda: add NVIDIA GPU H100 Gregory Etelson
` (5 preceding siblings ...)
2025-09-15 14:41 ` [PATCH 7/9] gpu/cuda: extend NVIDIA GPU device ID list Gregory Etelson
@ 2025-09-15 14:41 ` Gregory Etelson
2025-09-15 14:41 ` [PATCH 9/9] gpu/cuda: support CUDA 13 building Gregory Etelson
2026-01-13 17:36 ` [PATCH 1/9] gpu/cuda: add NVIDIA GPU H100 Stephen Hemminger
8 siblings, 0 replies; 18+ messages in thread
From: Gregory Etelson @ 2025-09-15 14:41 UTC (permalink / raw)
To: dev; +Cc: getelson, mkashani, rasland, eagostini
From: eagostini <eagostini@nvidia.com>
Add more IDs for Laptop and Embedded GPUs.
Signed-off-by: eagostini <eagostini@nvidia.com>
---
drivers/gpu/cuda/cuda.c | 138 ++++++++++++++++++++++++++++++++++---
drivers/gpu/cuda/devices.h | 36 +++++++++-
2 files changed, 164 insertions(+), 10 deletions(-)
diff --git a/drivers/gpu/cuda/cuda.c b/drivers/gpu/cuda/cuda.c
index fb8aaf67fc..e050b6370b 100644
--- a/drivers/gpu/cuda/cuda.c
+++ b/drivers/gpu/cuda/cuda.c
@@ -223,14 +223,6 @@ static const struct rte_pci_id pci_id_cuda_map[] = {
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
NVIDIA_RTX_A4500)
},
- {
- RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_RTX_A4500_LAPTOP)
- },
- {
- RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
- NVIDIA_RTX_A4500_EMBEDDED)
- },
{
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
NVIDIA_RTX_A5500)
@@ -439,6 +431,136 @@ static const struct rte_pci_id pci_id_cuda_map[] = {
RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
NVIDIA_H100XS_1_8CME)
},
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_T600_Laptop)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_T550_Laptop)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_T600_Laptop_2)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_T1200_Laptop)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_A5500_Laptop)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_A5000_Laptop)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_A4000_Laptop)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_A3000_Laptop)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_A3000_12GB_Laptop)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_A4500_Laptop)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_A3000_12GB_Laptop_2)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_A2000_Laptop)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_A1000_Laptop)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_A2000_8GB_Laptop)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_A500_Laptop)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_A1000_6GB_Laptop)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_A500_Laptop_2)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_5000_Ada_Generation_Laptop)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_4000_Ada_Generation_Laptop)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_3500_Ada_Generation_Laptop)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_3000_Ada_Generation_Laptop)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_2000_Ada_Generation_Laptop)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_1000_Ada_Generation_Laptop)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_500_Ada_Generation_Laptop)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_500_Ada_Generation_Laptop_2)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_A4500_Embedded)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_A1000_Embedded)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_A2000_Embedded)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_A500_Embedded)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_5000_Ada_Generation_Embedded)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_3500_Ada_Generation_Embedded)
+ },
+ {
+ RTE_PCI_DEVICE(NVIDIA_GPU_VENDOR_ID,
+ NVIDIA_RTX_2000_Ada_Generation_Embedded)
+ },
+
+
{
.device_id = 0
}
diff --git a/drivers/gpu/cuda/devices.h b/drivers/gpu/cuda/devices.h
index bc096bc4cf..9577dd1f2c 100644
--- a/drivers/gpu/cuda/devices.h
+++ b/drivers/gpu/cuda/devices.h
@@ -50,8 +50,6 @@
#define NVIDIA_RTX_A6000 (0x2230)
#define NVIDIA_RTX_A5000 (0x2231)
#define NVIDIA_RTX_A4500 (0x2232)
-#define NVIDIA_RTX_A4500_LAPTOP (0x24ba)
-#define NVIDIA_RTX_A4500_EMBEDDED (0x24fa)
#define NVIDIA_RTX_A5500 (0x2233)
#define NVIDIA_A40 (0x2235)
#define NVIDIA_A10 (0x2236)
@@ -105,4 +103,38 @@
#define NVIDIA_GPU_GRID_T4_1B (0x1eb8)
#define NVIDIA_H100XS_1_8CME (0x2337)
+#define NVIDIA_T600_Laptop (0x1fb6)
+#define NVIDIA_T550_Laptop (0x1fb7)
+#define NVIDIA_T600_Laptop_2 (0x1fba)
+#define NVIDIA_T1200_Laptop (0x1fbc)
+#define NVIDIA_RTX_A5500_Laptop (0x2438)
+#define NVIDIA_RTX_A5000_Laptop (0x24b6)
+#define NVIDIA_RTX_A4000_Laptop (0x24b7)
+#define NVIDIA_RTX_A3000_Laptop (0x24b8)
+#define NVIDIA_RTX_A3000_12GB_Laptop (0x24b9)
+#define NVIDIA_RTX_A4500_Laptop (0x24ba)
+#define NVIDIA_RTX_A3000_12GB_Laptop_2 (0x24bb)
+#define NVIDIA_RTX_A2000_Laptop (0x25b8)
+#define NVIDIA_RTX_A1000_Laptop (0x25b9)
+#define NVIDIA_RTX_A2000_8GB_Laptop (0x25ba)
+#define NVIDIA_RTX_A500_Laptop (0x25bb)
+#define NVIDIA_RTX_A1000_6GB_Laptop (0x25bc)
+#define NVIDIA_RTX_A500_Laptop_2 (0x25bd)
+#define NVIDIA_RTX_5000_Ada_Generation_Laptop (0x2730)
+#define NVIDIA_RTX_4000_Ada_Generation_Laptop (0x27ba)
+#define NVIDIA_RTX_3500_Ada_Generation_Laptop (0x27bb)
+#define NVIDIA_RTX_3000_Ada_Generation_Laptop (0x2838)
+#define NVIDIA_RTX_2000_Ada_Generation_Laptop (0x28b8)
+#define NVIDIA_RTX_1000_Ada_Generation_Laptop (0x28b9)
+#define NVIDIA_RTX_500_Ada_Generation_Laptop (0x28ba)
+#define NVIDIA_RTX_500_Ada_Generation_Laptop_2 (0x28bb)
+
+#define NVIDIA_RTX_A4500_Embedded (0x24fa)
+#define NVIDIA_RTX_A1000_Embedded (0x25f9)
+#define NVIDIA_RTX_A2000_Embedded (0x25fa)
+#define NVIDIA_RTX_A500_Embedded (0x25fb)
+#define NVIDIA_RTX_5000_Ada_Generation_Embedded (0x2770)
+#define NVIDIA_RTX_3500_Ada_Generation_Embedded (0x27fb)
+#define NVIDIA_RTX_2000_Ada_Generation_Embedded (0x28f8)
+
#endif /* CUDA_DEVICES_H */
--
2.48.1
^ permalink raw reply related [flat|nested] 18+ messages in thread* [PATCH 9/9] gpu/cuda: support CUDA 13 building
2025-09-15 14:41 [PATCH 1/9] gpu/cuda: add NVIDIA GPU H100 Gregory Etelson
` (6 preceding siblings ...)
2025-09-15 14:41 ` [PATCH 8/9] " Gregory Etelson
@ 2025-09-15 14:41 ` Gregory Etelson
2025-09-17 10:06 ` Thomas Monjalon
2026-01-13 17:36 ` [PATCH 1/9] gpu/cuda: add NVIDIA GPU H100 Stephen Hemminger
8 siblings, 1 reply; 18+ messages in thread
From: Gregory Etelson @ 2025-09-15 14:41 UTC (permalink / raw)
To: dev; +Cc: getelson, mkashani, rasland, Bing Zhao, Elena Agostini
From: Bing Zhao <bingz@nvidia.com>
The API name and prototype have been changed in the new CUDA, this
commit will ensure the compatibility with different versions.
Signed-off-by: Bing Zhao <bingz@nvidia.com>
---
drivers/gpu/cuda/cuda.c | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/drivers/gpu/cuda/cuda.c b/drivers/gpu/cuda/cuda.c
index e050b6370b..3f3391cf30 100644
--- a/drivers/gpu/cuda/cuda.c
+++ b/drivers/gpu/cuda/cuda.c
@@ -28,6 +28,28 @@ static CUresult CUDAAPI (*sym_cuGetProcAddress)(const char *symbol,
void **pfn, int cudaVersion, uint64_t flags);
/* CUDA Driver functions loaded with cuGetProcAddress for versioning */
+#if defined(CUDA_VERSION) && (CUDA_VERSION >= 13000)
+static PFN_cuGetErrorString_v6000 pfn_cuGetErrorString;
+static PFN_cuGetErrorName_v6000 pfn_cuGetErrorName;
+static PFN_cuPointerSetAttribute_v6000 pfn_cuPointerSetAttribute;
+static PFN_cuDeviceGetAttribute_v2000 pfn_cuDeviceGetAttribute;
+static PFN_cuDeviceGetByPCIBusId_v4010 pfn_cuDeviceGetByPCIBusId;
+static PFN_cuDevicePrimaryCtxRetain_v7000 pfn_cuDevicePrimaryCtxRetain;
+static PFN_cuDevicePrimaryCtxRelease_v11000 pfn_cuDevicePrimaryCtxRelease;
+static PFN_cuDeviceTotalMem_v3020 pfn_cuDeviceTotalMem;
+static PFN_cuDeviceGetName_v2000 pfn_cuDeviceGetName;
+static PFN_cuCtxGetApiVersion_v3020 pfn_cuCtxGetApiVersion;
+static PFN_cuCtxSetCurrent_v4000 pfn_cuCtxSetCurrent;
+static PFN_cuCtxGetCurrent_v4000 pfn_cuCtxGetCurrent;
+static PFN_cuCtxGetDevice_v2000 pfn_cuCtxGetDevice;
+static PFN_cuCtxGetExecAffinity_v11040 pfn_cuCtxGetExecAffinity;
+static PFN_cuMemAlloc_v3020 pfn_cuMemAlloc;
+static PFN_cuMemFree_v3020 pfn_cuMemFree;
+static PFN_cuMemHostRegister_v6050 pfn_cuMemHostRegister;
+static PFN_cuMemHostUnregister_v4000 pfn_cuMemHostUnregister;
+static PFN_cuMemHostGetDevicePointer_v3020 pfn_cuMemHostGetDevicePointer;
+static PFN_cuFlushGPUDirectRDMAWrites_v11030 pfn_cuFlushGPUDirectRDMAWrites;
+#else
static PFN_cuGetErrorString pfn_cuGetErrorString;
static PFN_cuGetErrorName pfn_cuGetErrorName;
static PFN_cuPointerSetAttribute pfn_cuPointerSetAttribute;
@@ -48,6 +70,7 @@ static PFN_cuMemHostRegister pfn_cuMemHostRegister;
static PFN_cuMemHostUnregister pfn_cuMemHostUnregister;
static PFN_cuMemHostGetDevicePointer pfn_cuMemHostGetDevicePointer;
static PFN_cuFlushGPUDirectRDMAWrites pfn_cuFlushGPUDirectRDMAWrites;
+#endif
static void *cudalib;
static unsigned int cuda_api_version;
--
2.48.1
^ permalink raw reply related [flat|nested] 18+ messages in thread* Re: [PATCH 9/9] gpu/cuda: support CUDA 13 building
2025-09-15 14:41 ` [PATCH 9/9] gpu/cuda: support CUDA 13 building Gregory Etelson
@ 2025-09-17 10:06 ` Thomas Monjalon
2025-12-05 8:55 ` Thomas Monjalon
0 siblings, 1 reply; 18+ messages in thread
From: Thomas Monjalon @ 2025-09-17 10:06 UTC (permalink / raw)
To: Bing Zhao, Elena Agostini, Gregory Etelson; +Cc: dev, mkashani, rasland
15/09/2025 16:41, Gregory Etelson:
> From: Bing Zhao <bingz@nvidia.com>
>
> The API name and prototype have been changed in the new CUDA, this
> commit will ensure the compatibility with different versions.
[...]
> /* CUDA Driver functions loaded with cuGetProcAddress for versioning */
> +#if defined(CUDA_VERSION) && (CUDA_VERSION >= 13000)
> +static PFN_cuGetErrorString_v6000 pfn_cuGetErrorString;
> +static PFN_cuGetErrorName_v6000 pfn_cuGetErrorName;
> +static PFN_cuPointerSetAttribute_v6000 pfn_cuPointerSetAttribute;
> +static PFN_cuDeviceGetAttribute_v2000 pfn_cuDeviceGetAttribute;
> +static PFN_cuDeviceGetByPCIBusId_v4010 pfn_cuDeviceGetByPCIBusId;
> +static PFN_cuDevicePrimaryCtxRetain_v7000 pfn_cuDevicePrimaryCtxRetain;
> +static PFN_cuDevicePrimaryCtxRelease_v11000 pfn_cuDevicePrimaryCtxRelease;
> +static PFN_cuDeviceTotalMem_v3020 pfn_cuDeviceTotalMem;
> +static PFN_cuDeviceGetName_v2000 pfn_cuDeviceGetName;
> +static PFN_cuCtxGetApiVersion_v3020 pfn_cuCtxGetApiVersion;
> +static PFN_cuCtxSetCurrent_v4000 pfn_cuCtxSetCurrent;
> +static PFN_cuCtxGetCurrent_v4000 pfn_cuCtxGetCurrent;
> +static PFN_cuCtxGetDevice_v2000 pfn_cuCtxGetDevice;
> +static PFN_cuCtxGetExecAffinity_v11040 pfn_cuCtxGetExecAffinity;
> +static PFN_cuMemAlloc_v3020 pfn_cuMemAlloc;
> +static PFN_cuMemFree_v3020 pfn_cuMemFree;
> +static PFN_cuMemHostRegister_v6050 pfn_cuMemHostRegister;
> +static PFN_cuMemHostUnregister_v4000 pfn_cuMemHostUnregister;
> +static PFN_cuMemHostGetDevicePointer_v3020 pfn_cuMemHostGetDevicePointer;
> +static PFN_cuFlushGPUDirectRDMAWrites_v11030 pfn_cuFlushGPUDirectRDMAWrites;
> +#else
> static PFN_cuGetErrorString pfn_cuGetErrorString;
> static PFN_cuGetErrorName pfn_cuGetErrorName;
What is the logic here?
The old version keeps its original name, and new versions have a suffix?
Why not use the old version?
What will happen with next versions?
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 9/9] gpu/cuda: support CUDA 13 building
2025-09-17 10:06 ` Thomas Monjalon
@ 2025-12-05 8:55 ` Thomas Monjalon
0 siblings, 0 replies; 18+ messages in thread
From: Thomas Monjalon @ 2025-12-05 8:55 UTC (permalink / raw)
To: Bing Zhao, Elena Agostini, Gregory Etelson; +Cc: dev, mkashani, rasland
17/09/2025 12:06, Thomas Monjalon:
> 15/09/2025 16:41, Gregory Etelson:
> > From: Bing Zhao <bingz@nvidia.com>
> >
> > The API name and prototype have been changed in the new CUDA, this
> > commit will ensure the compatibility with different versions.
> [...]
> > /* CUDA Driver functions loaded with cuGetProcAddress for versioning */
> > +#if defined(CUDA_VERSION) && (CUDA_VERSION >= 13000)
> > +static PFN_cuGetErrorString_v6000 pfn_cuGetErrorString;
> > +static PFN_cuGetErrorName_v6000 pfn_cuGetErrorName;
> > +static PFN_cuPointerSetAttribute_v6000 pfn_cuPointerSetAttribute;
> > +static PFN_cuDeviceGetAttribute_v2000 pfn_cuDeviceGetAttribute;
> > +static PFN_cuDeviceGetByPCIBusId_v4010 pfn_cuDeviceGetByPCIBusId;
> > +static PFN_cuDevicePrimaryCtxRetain_v7000 pfn_cuDevicePrimaryCtxRetain;
> > +static PFN_cuDevicePrimaryCtxRelease_v11000 pfn_cuDevicePrimaryCtxRelease;
> > +static PFN_cuDeviceTotalMem_v3020 pfn_cuDeviceTotalMem;
> > +static PFN_cuDeviceGetName_v2000 pfn_cuDeviceGetName;
> > +static PFN_cuCtxGetApiVersion_v3020 pfn_cuCtxGetApiVersion;
> > +static PFN_cuCtxSetCurrent_v4000 pfn_cuCtxSetCurrent;
> > +static PFN_cuCtxGetCurrent_v4000 pfn_cuCtxGetCurrent;
> > +static PFN_cuCtxGetDevice_v2000 pfn_cuCtxGetDevice;
> > +static PFN_cuCtxGetExecAffinity_v11040 pfn_cuCtxGetExecAffinity;
> > +static PFN_cuMemAlloc_v3020 pfn_cuMemAlloc;
> > +static PFN_cuMemFree_v3020 pfn_cuMemFree;
> > +static PFN_cuMemHostRegister_v6050 pfn_cuMemHostRegister;
> > +static PFN_cuMemHostUnregister_v4000 pfn_cuMemHostUnregister;
> > +static PFN_cuMemHostGetDevicePointer_v3020 pfn_cuMemHostGetDevicePointer;
> > +static PFN_cuFlushGPUDirectRDMAWrites_v11030 pfn_cuFlushGPUDirectRDMAWrites;
> > +#else
> > static PFN_cuGetErrorString pfn_cuGetErrorString;
> > static PFN_cuGetErrorName pfn_cuGetErrorName;
>
> What is the logic here?
> The old version keeps its original name, and new versions have a suffix?
> Why not use the old version?
> What will happen with next versions?
Looks like we cannot do better than this versioning
when using cuGetProcAddress to avoid linking CUDA.
Applied
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 1/9] gpu/cuda: add NVIDIA GPU H100
2025-09-15 14:41 [PATCH 1/9] gpu/cuda: add NVIDIA GPU H100 Gregory Etelson
` (7 preceding siblings ...)
2025-09-15 14:41 ` [PATCH 9/9] gpu/cuda: support CUDA 13 building Gregory Etelson
@ 2026-01-13 17:36 ` Stephen Hemminger
8 siblings, 0 replies; 18+ messages in thread
From: Stephen Hemminger @ 2026-01-13 17:36 UTC (permalink / raw)
To: Gregory Etelson; +Cc: dev, mkashani, rasland, Elena Agostini
On Mon, 15 Sep 2025 17:41:28 +0300
Gregory Etelson <getelson@nvidia.com> wrote:
> From: Elena Agostini <eagostini@nvidia.com>
>
> Add support for new NVIDIA GPU H100.
>
> Signed-off-by: Elena Agostini <eagostini@nvidia.com>
> ---
In addition to Thomas's comments. AI code review also identified some problems.
Please fix and resubmit.
(Feels fun using AI to review Nvidia patches)...
## DPDK Patch Review: gpu/cuda NVIDIA GPU Device ID Series
**Series:** [PATCH 1/9] to [PATCH 9/9] - Adding NVIDIA GPU device IDs to CUDA driver
**Submitter:** Gregory Etelson (on behalf of Elena Agostini)
**Date:** Mon, 15 Sep 2025
---
### Overall Assessment
This series adds various NVIDIA GPU device IDs to the CUDA driver. While the technical changes are straightforward, there are several compliance issues with DPDK contribution guidelines.
---
### Patch-by-Patch Review
#### **Patch 1/9: `gpu/cuda: add NVIDIA GPU H100`**
| Check | Status | Notes |
|-------|--------|-------|
| Subject ≤60 chars | ✅ Pass | 31 characters |
| Lowercase after colon | ✅ Pass | |
| Component prefix | ✅ Pass | `gpu/cuda:` correct |
| Signed-off-by | ✅ Pass | Elena Agostini <eagostini@nvidia.com> |
| Commit body | ⚠️ Warning | Very minimal - "Add support for new NVIDIA GPU H100." |
**Verdict:** Acceptable, but body could be more descriptive.
---
#### **Patch 2/9: `gpu/cuda: new RoyB A100T GPU ID`**
| Check | Status | Notes |
|-------|--------|-------|
| Subject ≤60 chars | ✅ Pass | 33 characters |
| Subject style | ⚠️ Warning | "RoyB" - internal codename may not be meaningful to readers |
| **Commit body** | ❌ **Error** | **Missing description - only Signed-off-by present** |
| Signed-off-by | ✅ Pass | |
**Error (must fix):** Per AGENTS.md line 114: "Describe the issue being fixed or feature being added." This patch has no body text.
---
#### **Patch 3/9:** (inferred from context - adds more device IDs)
Similar pattern to other patches.
---
#### **Patch 4/9: `gpu/cuda: new Hopper GPU IDs`**
| Check | Status | Notes |
|-------|--------|-------|
| Subject | ✅ Pass | 27 characters |
| Commit body | ⚠️ Warning | Grammar: "Add **a** new NVIDIA Hopper GPU **IDs**" - article/noun disagreement |
| Signed-off-by | ✅ Pass | |
**Warning:** Should read either "Add new NVIDIA Hopper GPU IDs" or "Add a new NVIDIA Hopper GPU ID."
---
#### **Patch 5/9: `gpu/cuda: add new gpu hopper 80gb device id`**
| Check | Status | Notes |
|-------|--------|-------|
| Subject length | ✅ Pass | 47 characters |
| **Subject case** | ⚠️ **Warning** | "gpu" and "hopper" should likely be uppercase for consistency: "GPU" and "Hopper" |
| **Commit body mood** | ⚠️ **Warning** | "Added the new..." uses past tense. Should be imperative: "Add the new..." |
| Signed-off-by | ✅ Pass | |
**Warning (should fix):** Per AGENTS.md line 54: Mood should be "Imperative (instructions to codebase)."
---
#### **Patch 6/9:** (extends device IDs with A800, H800, L40, L4 series)
Major refactoring patch adding many device IDs. Code appears structurally sound.
---
#### **Patch 7/9: `gpu/cuda: extend NVIDIA GPU device ID list`**
| Check | Status | Notes |
|-------|--------|-------|
| Subject | ✅ Pass | 44 characters |
| **Signed-off-by** | ❌ **Error** | `Signed-off-by: eagostini <eagostini@nvidia.com>` - **uses username, not real name** |
| From: line | ❌ **Error** | `From: eagostini <eagostini@nvidia.com>` - same issue |
**Error (must fix):** Per AGENTS.md line 116: "Signed-off-by: present with **real name** and valid email" and line 168: "Tag format: Tag-name: **Full Name** <email@domain.com>."
Should be: `Signed-off-by: Elena Agostini <eagostini@nvidia.com>`
---
#### **Patch 8/9: `gpu/cuda: extend NVIDIA GPU device ID list`**
| Check | Status | Notes |
|-------|--------|-------|
| **Subject** | ⚠️ **Warning** | **Identical to Patch 7/9** - subjects should be unique/descriptive |
| **Signed-off-by** | ❌ **Error** | Same issue: `eagostini` instead of `Elena Agostini` |
| From: line | ❌ **Error** | Same issue |
**Warning:** Patches 7 and 8 have identical subjects. Per the spirit of AGENTS.md guidelines, subjects should meaningfully distinguish patches. Consider: "gpu/cuda: add Laptop and Embedded GPU IDs" for patch 8.
---
#### **Patch 9/9:** (extends list further with more Laptop/Embedded variants)
Similar issues to patches 7/8 regarding authorship formatting.
---
### Code Style Issues
#### **1. Duplicate Macro Values (Patch 5)**
```c
#define NVIDIA_GPU_HOPPER_GRACE (0x2342)
#define NVIDIA_GPU_H100_GH1_DEVICE_ID (0x2342)
```
Two different macros defined with the same PCI device ID `0x2342`. This appears intentional (same device, different names), but the `NVIDIA_GPU_HOPPER_GRACE` macro is later removed. The series should be consolidated to avoid this intermediate state breaking bisectability.
#### **2. Inconsistent Naming Convention**
The macro naming is inconsistent across the series:
- Some use `NVIDIA_GPU_*_DEVICE_ID` suffix
- Some use just `NVIDIA_*` (e.g., `NVIDIA_A40`, `NVIDIA_H100`)
- Some use `NVIDIA_RTX_*`
While not strictly an error, this inconsistency makes the code harder to maintain.
#### **3. Double Blank Lines (Patch 9)**
```c
+ },
+
+
+ {
```
Lines 2130-2131 show two consecutive blank lines, which violates typical formatting expectations.
#### **4. Missing Documentation Update**
Per AGENTS.md lines 646-650 and 658:
- "New drivers or subsystems must have release notes"
- "Update release notes in doc/guides/rel_notes/ for important changes"
Adding significant new GPU support (H100, H200, L40 series, etc.) should arguably have a release notes entry, though this is borderline for device ID additions.
---
### Summary of Required Fixes
| Severity | Issue | Patches Affected |
|----------|-------|------------------|
| **Error** | Missing commit body | 2/9 |
| **Error** | Signed-off-by uses alias, not real name | 7/9, 8/9, 9/9 |
| **Error** | From: uses alias, not real name | 7/9, 8/9, 9/9 |
| Warning | Past tense in commit body | 5/9 |
| Warning | Lowercase in subject where uppercase expected | 5/9 |
| Warning | Grammar error in body | 4/9 |
| Warning | Duplicate subject lines | 7/9 vs 8/9 |
| Warning | Double blank lines in code | 9/9 |
| Info | Inconsistent macro naming style | Multiple |
| Info | Consider release notes update | Series |
---
### Recommended Actions
1. **Patch 2/9:** Add a description to the commit body explaining what "RoyB A100T" refers to.
2. **Patches 7/9, 8/9, 9/9:** Change author and signoff from:
```
From: eagostini <eagostini@nvidia.com>
Signed-off-by: eagostini <eagostini@nvidia.com>
```
To:
```
From: Elena Agostini <eagostini@nvidia.com>
Signed-off-by: Elena Agostini <eagostini@nvidia.com>
```
3. **Patch 5/9:** Fix subject case and body tense:
- Subject: `gpu/cuda: add new GPU Hopper 80GB device ID`
- Body: "Add the new Hopper 80GB GPU device ID to the list."
4. **Patches 7 & 8:** Differentiate the subjects (e.g., one for datacenter GPUs, one for Laptop/Embedded).
5. **Patch 9:** Remove the double blank line in cuda.c.
^ permalink raw reply [flat|nested] 18+ messages in thread