OnWorks favicon

alt-nvidia-361-cuda-mps-control - Online in the Cloud

Run alt-nvidia-361-cuda-mps-control in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command alt-nvidia-361-cuda-mps-control that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



nvidia-cuda-mps-control - NVIDIA CUDA Multi Process Service management program


nvidia-cuda-mps-control [-d]


MPS is a runtime service designed to let multiple MPI processes using CUDA to run
concurrently on a single GPU in a way that's transparent to the MPI program. A CUDA
program runs in MPS mode if the MPS control daemon is running on the system.

When CUDA is first initialized in a program, the CUDA driver attempts to connect to the
MPS control daemon. If the connection attempt fails, the program continues to run as it
normally would without MPS. If however, the connection attempt to the control daemon
succeeds, the CUDA driver then requests the daemon to start an MPS server on its behalf.
If there's an MPS server already running, and the user id of that server process matches
that of the requesting client process, the control daemon simply notifies the client
process of it, which then proceeds to connect to the server. If there's no MPS server
already running on the system, the control daemon launches an MPS server with the same
user id (UID) as that of the requesting client process. If there's an MPS server already
running, but with a different user id than that of the client process, the control daemon
requests the existing server to shutdown as soon as all its clients are done. Once the
existing server has terminated, the control daemon launches a new server with the user id
same as that of the queued client process.

The MPS server creates the shared GPU context, manages its clients, and issues work to the
GPU on behalf of its clients. An MPS server can support upto 16 client CUDA contexts at a
time. MPS is transparent to CUDA programs, with all the complexity of communication
between the client process, the server and the control daemon hidden within the driver

Currently, CUDA MPS is available on 64-bit Linux only, requires a device that supports
Unified Virtual Address (UVA) and has compute capability SM 3.5 or higher. Applications
requiring pre-CUDA 4.0 APIs are not supported under CUDA MPS. MPS is also not supported
on multi-GPU configurations. Please use CUDA_VISIBLE_DEVICES when starting the control
daemon to limit visibility to a single device.


Start the MPS control daemon, assuming the user has enough privilege (e.g. root).

-h, --help
Print a help message.

<no arguments>
Start the front-end management user interface to the MPS control daemon, which needs to be
started first. The front-end UI keeps reading commands from stdin until EOF. Commands are
separated by the newline character. If an invalid command is issued and rejected, an error
message will be printed to stdout. The exit status of the front-end UI is zero if
communication with the daemon is successful. A non-zero value is returned if the daemon is
not found or connection to the daemon is broken unexpectedly. See the "quit" command below
for more information about the exit status.

Commands supported by the MPS control daemon:

Print out a list of PIDs of all MPS servers.

start_server -uid UID
Start a new MPS server for the specified user (UID).

shutdown_server PID [-f]
Shutdown the MPS server with given PID. The MPS server will not accept any new
client connections and it exits when all current clients disconnect. -f is forced
immediate shutdown. If a client launches a faulty kernel that runs forever, a
forced shutdown of the MPS server may be required, since the MPS server creates and
issues GPU work on behalf of its clients.

get_client_list PID
Print out a list of PIDs of all clients connected to the MPS server with given PID.

quit [-t TIMEOUT]
Shutdown the MPS control daemon process and all MPS servers. The MPS control daemon
stops accepting new clients while waiting for current MPS servers and MPS clients
to finish. If TIMEOUT is specified (in seconds), the daemon will force MPS servers
to shutdown if they are still running after TIMEOUT seconds.

This command is synchronous. The front-end UI waits for the daemon to shutdown,
then returns the daemon's exit status. The exit status is zero iff all MPS servers
have exited gracefully.


Specify the directory that contains the named pipes used for communication among
MPS control, MPS server, and MPS clients. The value of this environment variable
should be consistent in the MPS control daemon and all MPS client processes.
Default directory is /tmp/nvidia-mps

Specify the directory that contains the MPS log files. This variable is used by the
MPS control daemon only. Default directory is /var/log/nvidia-mps

Use alt-nvidia-361-cuda-mps-control online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    Clover EFI bootloader
    Clover EFI bootloader
    Project has moved to
    Features:Boot macOS, Windows, and Linux
    in UEFI or legacy mode on Mac or PC with
    Download Clover EFI bootloader
  • 2
    Join us in Gitter!
    Enable the URPMS repository in your
    system -
    Download unitedrpms
  • 3
    Boost C++ Libraries
    Boost C++ Libraries
    Boost provides free portable
    peer-reviewed C++ libraries. The
    emphasis is on portable libraries which
    work well with the C++ Standard Library.
    See http://www.bo...
    Download Boost C++ Libraries
  • 4
    VirtualGL redirects 3D commands from a
    Unix/Linux OpenGL application onto a
    server-side GPU and converts the
    rendered 3D images into a video stream
    with which ...
    Download VirtualGL
  • 5
    Library to enable user space
    application programs to communicate with
    USB devices. Audience: Developers, End
    Users/Desktop. Programming Language: C.
    Download libusb
  • 6
    SWIG is a software development tool
    that connects programs written in C and
    C++ with a variety of high-level
    programming languages. SWIG is used with
    Download SWIG
  • More »

Linux commands