unilab.training.cuda_process_sharing.resolve_mps_visibility_entries

unilab.training.cuda_process_sharing.resolve_mps_visibility_entries(entries, *, run_command=<function run>)[source]

Return CUDA_VISIBLE_DEVICES entries with numeric indices as UUIDs.

A per-GPU MPS server enumerates only its own device, so a client whose one-entry visibility mask holds a nonzero numeric index overruns that namespace and fails CUDA initialization with “No CUDA GPUs are available”. UUID entries survive that server-side remapping, so an explicit training.cuda_process_sharing=mps launch normalizes visibility before CUDA latches the mask. Non-numeric entries (UUID, MIG, -1) pass through unchanged; the returned UUIDs keep the nvidia-smi display form.

Raises:

ValueError – A numeric entry could not be mapped to a host GPU UUID.

Parameters:
Return type:

tuple[str, ...]