mstar.conductor.mps

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

MpsDaemon([directory])

An nvidia-cuda-mps-control child of the conductor, and the environment its clients need.

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