Provided by: nvidia-340_340.107-0ubuntu0.16.04.2_amd64 bug

NAME

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

SYNOPSIS

       nvidia-cuda-mps-control [-d]

DESCRIPTION

       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 binaries.

       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.

OPTIONS

   -d
       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:

       get_server_list
              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.

ENVIRONMENT

       CUDA_MPS_PIPE_DIRECTORY
              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

       CUDA_MPS_LOG_DIRECTORY
              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

FILES

       Log files created by the MPS control daemon in the specified directory

       control.log
              Record  startup  and  shutdown of MPS control daemon, user commands issued with their results, and
              status of MPS servers.

       server.log
              Record startup and shutdown of MPS servers, and status of MPS clients.

nvidia-cuda-mps-control                            2013-02-26                         nvidia-cuda-mps-control(1)