From 4554364e67238e6a7332ff5e4b174cc405e10844 Mon Sep 17 00:00:00 2001 From: Pedro Avalos Jimenez Date: Tue, 21 Jan 2025 17:41:12 -0500 Subject: [PATCH 1/3] Fix LXDVM GPU passthrough test setup --- providers/gpgpu/bin/gpu_passthrough.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/providers/gpgpu/bin/gpu_passthrough.py b/providers/gpgpu/bin/gpu_passthrough.py index c4a3c3d0e8..4c821fdb31 100755 --- a/providers/gpgpu/bin/gpu_passthrough.py +++ b/providers/gpgpu/bin/gpu_passthrough.py @@ -42,8 +42,8 @@ "config_cmds": [ "apt-get -q update -y", "apt-get -q upgrade -y", - "apt-get -q install -y linux-generic ubuntu-drivers-common", - "ubuntu-drivers install --gpgpu", + "apt-get -q install -y ubuntu-drivers-common", + "ubuntu-drivers install --recommended", ], }, }, From bb708c1bb33fd535329aced128b14a32b7beabe6 Mon Sep 17 00:00:00 2001 From: Pedro Avalos Jimenez Date: Tue, 21 Jan 2025 17:43:04 -0500 Subject: [PATCH 2/3] Add LXDVM GPU passthrough test to GPGPU provider --- providers/gpgpu/units/jobs.pxu | 15 +++++++++++++++ providers/gpgpu/units/test-plan.pxu | 3 ++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/providers/gpgpu/units/jobs.pxu b/providers/gpgpu/units/jobs.pxu index 952bba9232..3bcf0526bf 100644 --- a/providers/gpgpu/units/jobs.pxu +++ b/providers/gpgpu/units/jobs.pxu @@ -86,3 +86,18 @@ command: gpu_passthrough.py --vendor=nvidia --pci={pci_device_name} lxd _purpose: Creates a LXD container and passes {pci_device_name} GPU through _summary: Test LXD GPU passthrough on NVIDIA GPU {pci_device_name} _template-summary: Test LXD GPU passthrough on NVIDIA GPU + +unit: template +template-resource: graphics_card +template-filter: graphics_card.vendor == 'NVIDIA Corporation' +template-id: gpgpu/lxdvm-nvidia-gpu-passthrough-pci-device-name +id: gpgpu/lxdvm-nvidia-gpu-passthrough-{pci_device_name} +requires: + executable.name == 'lxc' + package.name == 'lxd' or package.name == 'lxd-installer' or snap.name == 'lxd' +category_id: gpgpu +plugin: shell +command: gpu_passthrough.py --vendor=nvidia --pci={pci_device_name} lxdvm +_purpose: Creates a LXD virtual machine and passes {pci_device_name} GPU through +_summary: Test LXD VM GPU passthrough on NVIDIA GPU {pci_device_name} +_template-summary: Test LXD VM GPU passthrough on NVIDIA GPU diff --git a/providers/gpgpu/units/test-plan.pxu b/providers/gpgpu/units/test-plan.pxu index efb6dcb7b3..2bf6828bed 100644 --- a/providers/gpgpu/units/test-plan.pxu +++ b/providers/gpgpu/units/test-plan.pxu @@ -38,7 +38,8 @@ _name: GPGPU Virtualization Passthrough Testing _description: Automated Tests for GPGPU Passthrough (non-graphical) include: - gpgpu/lxd-nvidia-gpu-passthrough-pci-device-name certification-status=blocker + gpgpu/lxd-nvidia-gpu-passthrough-pci-device-name certification-status=blocker + gpgpu/lxdvm-nvidia-gpu-passthrough-pci-device-name certification-status=blocker bootstrap_include: graphics_card executable From c5f6285b245f1cf75fada579744b0e0f8a6f4e5b Mon Sep 17 00:00:00 2001 From: Pedro Avalos Jimenez Date: Wed, 22 Jan 2025 10:15:42 -0500 Subject: [PATCH 3/3] Add estimated durations for GPU passthrough tests --- providers/gpgpu/units/jobs.pxu | 2 ++ 1 file changed, 2 insertions(+) diff --git a/providers/gpgpu/units/jobs.pxu b/providers/gpgpu/units/jobs.pxu index 3bcf0526bf..1dd2bb44be 100644 --- a/providers/gpgpu/units/jobs.pxu +++ b/providers/gpgpu/units/jobs.pxu @@ -82,6 +82,7 @@ requires: package.name == 'lxd' or package.name == 'lxd-installer' or snap.name == 'lxd' category_id: gpgpu plugin: shell +estimated_duration: 1m 45s command: gpu_passthrough.py --vendor=nvidia --pci={pci_device_name} lxd _purpose: Creates a LXD container and passes {pci_device_name} GPU through _summary: Test LXD GPU passthrough on NVIDIA GPU {pci_device_name} @@ -97,6 +98,7 @@ requires: package.name == 'lxd' or package.name == 'lxd-installer' or snap.name == 'lxd' category_id: gpgpu plugin: shell +estimated_duration: 12m command: gpu_passthrough.py --vendor=nvidia --pci={pci_device_name} lxdvm _purpose: Creates a LXD virtual machine and passes {pci_device_name} GPU through _summary: Test LXD VM GPU passthrough on NVIDIA GPU {pci_device_name}