MCPcopy Create free account
hub / github.com/NVIDIA/OpenShell / resolve_gpu_cdi_devices

Method resolve_gpu_cdi_devices

crates/openshell-driver-podman/src/driver.rs:407–436  ·  view source on GitHub ↗
(
        &self,
        gpu_requirements: Option<&GpuResourceRequirements>,
        driver_config: &PodmanSandboxDriverConfig,
        select_default_devices: fn(
            &CdiGpuDefaultSelector,

Source from the content-addressed store, hash-verified

405 }
406
407 fn resolve_gpu_cdi_devices(
408 &self,
409 gpu_requirements: Option<&GpuResourceRequirements>,
410 driver_config: &PodmanSandboxDriverConfig,
411 select_default_devices: fn(
412 &CdiGpuDefaultSelector,
413 u32,
414 ) -> Result<Vec<String>, CdiGpuSelectionError>,
415 ) -> Result<Option<Vec<String>>, ComputeDriverError> {
416 if let Some(cdi_devices) = driver_config.cdi_devices.as_deref() {
417 validate_specific_gpu_device_request(
418 gpu_requirements,
419 cdi_devices,
420 "driver_config.cdi_devices",
421 )
422 .map_err(ComputeDriverError::InvalidArgument)?;
423 return Ok(Some(cdi_devices.to_vec()));
424 }
425
426 let Some(count) = effective_driver_gpu_count(gpu_requirements)
427 .map_err(ComputeDriverError::InvalidArgument)?
428 else {
429 return Ok(None);
430 };
431
432 self.refresh_gpu_inventory();
433 select_default_devices(&self.gpu_selector, count)
434 .map(Some)
435 .map_err(podman_gpu_selection_error)
436 }
437
438 async fn validate_user_volume_mounts_available(
439 &self,

Callers 2

create_sandboxMethod · 0.45

Tested by

no test coverage detected