I want to be able to share a single physical Intel GPU across multiple pods using the new DRA driver.
Right now, the Intel DRA driver only allows a strict 1-to-1 mapping OR SR-IOV. While features like SR-IOV are great for hard partitioning, they split up the VRAM. I want to use time-slicing so multiple workloads can access the whole GPU and its full memory pool at the same time, leaving the host driver to handle the context switching. Same thing I would have available if I did not run my workload in Kubernetes. Added benefit is that time-slicing would also work for GPUs that do not support SR-IOV like anything using i915.
Ideally, I want to be able to decide on an individual GPU level whether a card is shareable or not and how many shares it has rather than just having a single cluster-wide operator configuration. However a cluster wide configuration option would be a good start.
To give some quick context on how this works elsewhere, the NVIDIA DRA driver supports this already and they call this feature time-slicing. See: https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/latest/gpu-sharing.html
I want to be able to share a single physical Intel GPU across multiple pods using the new DRA driver.
Right now, the Intel DRA driver only allows a strict 1-to-1 mapping OR SR-IOV. While features like SR-IOV are great for hard partitioning, they split up the VRAM. I want to use time-slicing so multiple workloads can access the whole GPU and its full memory pool at the same time, leaving the host driver to handle the context switching. Same thing I would have available if I did not run my workload in Kubernetes. Added benefit is that time-slicing would also work for GPUs that do not support SR-IOV like anything using i915.
Ideally, I want to be able to decide on an individual GPU level whether a card is shareable or not and how many shares it has rather than just having a single cluster-wide operator configuration. However a cluster wide configuration option would be a good start.
To give some quick context on how this works elsewhere, the NVIDIA DRA driver supports this already and they call this feature time-slicing. See: https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/latest/gpu-sharing.html