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

Method resolve_gpu_cdi_devices

crates/openshell-driver-docker/src/lib.rs:598–627  ·  view source on GitHub ↗
(
        &self,
        gpu_requirements: Option<&GpuResourceRequirements>,
        driver_config: &DockerSandboxDriverConfig,
        select_default_devices: fn(
            &CdiGpuDefaultSelector,

Source from the content-addressed store, hash-verified

596 }
597
598 async fn resolve_gpu_cdi_devices(
599 &self,
600 gpu_requirements: Option<&GpuResourceRequirements>,
601 driver_config: &DockerSandboxDriverConfig,
602 select_default_devices: fn(
603 &CdiGpuDefaultSelector,
604 u32,
605 ) -> Result<Vec<String>, CdiGpuSelectionError>,
606 ) -> Result<Option<Vec<String>>, Status> {
607 if let Some(cdi_devices) = driver_config.cdi_devices.as_deref() {
608 validate_specific_gpu_device_request(
609 gpu_requirements,
610 cdi_devices,
611 "driver_config.cdi_devices",
612 )
613 .map_err(Status::invalid_argument)?;
614 return Ok(Some(cdi_devices.to_vec()));
615 }
616
617 let Some(count) =
618 effective_driver_gpu_count(gpu_requirements).map_err(Status::invalid_argument)?
619 else {
620 return Ok(None);
621 };
622
623 self.refresh_gpu_inventory().await?;
624 select_default_devices(&self.gpu_selector, count)
625 .map(Some)
626 .map_err(docker_gpu_selection_status)
627 }
628
629 async fn get_sandbox_snapshot(
630 &self,

Callers 3

create_sandbox_innerMethod · 0.45

Tested by

no test coverage detected