mstar.conductor.mps
CUDA MPS for a deployment that runs several workers on one GPU (mps: true).
Without MPS, kernels from different processes on one GPU time-slice; under MPS they
overlap. Each deployment runs its own control daemon in a private pipe directory, so
only its workers become MPS clients and other processes on the GPU are unaffected.
Classes
-
class mstar.conductor.mps.MpsDaemon(directory=None)[source]
Bases: object
An nvidia-cuda-mps-control child of the conductor, and the environment
its clients need.
- Parameters:
directory (str | None)
-
start(timeout_s=10.0)[source]
- Parameters:
timeout_s (float)
- Return type:
None
-
stop(timeout_s=10.0)[source]
Quit the daemon (and the MPS server it spawned), killing it if it
does not quit, and remove its directory. Call after the workers exit.
- Parameters:
timeout_s (float)
- Return type:
None