nvidia-cuda-proxy-control - NVIDIA CUDA proxy management
  program
nvidia-cuda-proxy-control [-d]
CUDA proxy is a feature that allows multiple CUDA processes to
    share a single GPU context. A CUDA program runs in proxy mode if the proxy
    control daemon is running on the system. When a CUDA program starts, it
    tries to connect to the daemon, which will then create a proxy server
    process for the connecting client if one does not exist for the user (UID)
    who launched the client. Each user (UID) has its own proxy server process.
    The proxy server creates the shared GPU context, manages its clients, and
    issues work to the GPU on behalf of its clients. The proxy mode should be
    transparent to CUDA programs.
Currently, proxy is available on 64-bit Linux only, and requires a
    device that supports Unified Virtual Address (UVA). Applications requiring
    pre-CUDA 4.0 APIs are not supported under proxy mode.
Start the proxy control daemon, assuming the user has enough
    privilege (e.g. root).
Start the front-end management user interface to the 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 proxy control daemon:
  - get_server_list
 
  - Print out a list of PIDs of all proxy server processes.
 
  - start_server
    -uid UID
 
  - Start a new proxy server process for the specified user (UID).
 
  - shutdown_server
    PID [-f]
 
  - Shutdown the proxy server with given PID. The proxy 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 proxy server may
      be required, since the proxy 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 server with given
      PID.
 
  - quit [-t
    TIMEOUT]
 
  - Shutdown the proxy control daemon process and all proxy servers. The proxy
      control daemon stops accepting new clients while waiting for current proxy
      servers and proxy clients to finish. If TIMEOUT is specified (in
      seconds), the daemon will force proxy 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 proxy servers have exited gracefully.
   
  - CUDA_PROXY_PIPE_DIRECTORY
 
  - Specify the directory that contains the named pipes used for communication
      among proxy control, proxy server, and proxy clients. The value of this
      environment variable should be consistent in the proxy control daemon and
      all proxy client processes. Default directory is /tmp/nvidia-proxy
 
  - CUDA_PROXY_LOG_DIRECTORY
 
  - Specify the directory that contains the proxy log files. This variable is
      used by the proxy control daemon only. Default directory is
      /var/log/nvidia-proxy
 
Log files created by the proxy control daemon in the specified
    directory
  - control.log
 
  - Record startup and shutdown of proxy control daemon, user commands issued
      with their results, and status of proxy servers.
 
  - server.log
 
  - Record startup and shutdown of proxy servers, and status of proxy
    clients.