これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションの361つを使用してOnWorks無料ホスティングプロバイダーで実行できるコマンドalt-nvidia-XNUMX-cuda-mps-controlです。
プログラム:
NAME
nvidia-cuda-mps-control-NVIDIACUDAマルチプロセスサービス管理プログラム
SYNOPSIS
nvidia-cuda-mps-control [-d]
DESCRIPTION
MPSは、CUDAを使用する複数のMPIプロセスを実行できるように設計されたランタイムサービスです。
MPIプログラムに対して透過的な方法で単一のGPU上で同時に。 CUDA
MPS制御デーモンがシステムで実行されている場合、プログラムはMPSモードで実行されます。
CUDAがプログラムで最初に初期化されるとき、CUDAドライバーは接続を試みます
MPS制御デーモン。 接続の試行が失敗した場合、プログラムはそのまま実行され続けます
通常、MPSなしで行います。 ただし、制御デーモンへの接続が試行された場合
成功すると、CUDAドライバーはデーモンに代わりにMPSサーバーを起動するように要求します。
すでに実行されているMPSサーバーがあり、そのサーバープロセスのユーザーIDが一致する場合
要求しているクライアントプロセスの場合、制御デーモンは単にクライアントに通知します
その後、サーバーへの接続に進みます。 MPSサーバーがない場合
すでにシステム上で実行されている場合、制御デーモンは同じMPSサーバーを起動します
要求元のクライアントプロセスのユーザーID(UID)。 すでにMPSサーバーがある場合
実行中ですが、クライアントプロセスのユーザーIDとは異なるユーザーID、制御デーモン
すべてのクライアントが完了するとすぐに既存のサーバーをシャットダウンするように要求します。 一度
既存のサーバーが終了すると、制御デーモンはユーザーIDで新しいサーバーを起動します
キューに入れられたクライアントプロセスと同じです。
MPSサーバーは、共有GPUコンテキストを作成し、そのクライアントを管理し、
クライアントに代わってGPU。 MPSサーバーは、最大16のクライアントCUDAコンテキストをサポートできます。
時間。 MPSはCUDAプログラムに対して透過的であり、通信の複雑さはすべてあります
クライアントプロセス、サーバー、およびドライバー内に隠された制御デーモンの間
バイナリ。
現在、CUDA MPSは64ビットLinuxでのみ利用可能であり、サポートするデバイスが必要です
統合仮想アドレス(UVA)であり、計算機能SM3.5以降を備えています。 アプリケーション
CUDA 4.0より前のAPIを要求することは、CUDAMPSではサポートされていません。 MPSもサポートされていません
マルチGPU構成の場合。 コントロールを開始するときは、CUDA_VISIBLE_DEVICESを使用してください
可視性を単一のデバイスに制限するデーモン。
OPTIONS
-d
ユーザーに十分な権限(rootなど)があると想定して、MPS制御デーモンを起動します。
-NS、 - 助けて
ヘルプメッセージを印刷します。
<いいえ 引数>
MPS制御デーモンへのフロントエンド管理ユーザーインターフェイスを開始します。
最初に始めました。 フロントエンドUIは、stdinからEOFまでコマンドを読み取り続けます。 コマンドは
改行文字で区切られます。 無効なコマンドが発行されて拒否された場合、エラーが発生します
メッセージはstdoutに出力されます。 フロントエンドUIの終了ステータスは、次の場合はゼロです。
デーモンとの通信は成功しています。 デーモンが次の場合、ゼロ以外の値が返されます
見つからないか、デーモンへの接続が予期せず切断されました。 以下の「終了」コマンドを参照してください
終了ステータスの詳細については。
MPS制御デーモンでサポートされるコマンド:
get_server_list
すべてのMPSサーバーのPIDのリストを印刷します。
スタートサーバー -uid UID
指定されたユーザーの新しいMPSサーバーを起動します(UID).
シャットダウンサーバー PID [-f]
指定されたMPSサーバーをシャットダウンします PID。 MPSサーバーは新しいものを受け入れません
クライアント接続。現在のすべてのクライアントが切断されると終了します。 -f 強制されます
即時シャットダウン。 クライアントが永久に実行される障害のあるカーネルを起動した場合、
MPSサーバーが作成し、MPSサーバーが作成するため、MPSサーバーの強制シャットダウンが必要になる場合があります。
クライアントに代わってGPU作業を発行します。
get_client_list PID
指定されたMPSサーバーに接続されているすべてのクライアントのPIDのリストを印刷します PID.
やめます [-t TIMEOUT]
MPS制御デーモンプロセスとすべてのMPSサーバーをシャットダウンします。 MPS制御デーモン
現在のMPSサーバーとMPSクライアントを待機している間、新しいクライアントの受け入れを停止します
終わる。 もしも TIMEOUT が指定されている場合(秒単位)、デーモンはMPSサーバーを強制します
後でまだ実行されている場合はシャットダウンします TIMEOUT 秒です。
このコマンドは同期的です。 フロントエンドUIは、デーモンがシャットダウンするのを待ちます。
次に、デーモンの終了ステータスを返します。 すべてのMPSサーバーの場合、終了ステータスはゼロです。
優雅に終了しました。
ENVIRONMENT
CUDA_MPS_PIPE_DIRECTORY
間の通信に使用される名前付きパイプを含むディレクトリを指定します
MPSコントロール、MPSサーバー、およびMPSクライアント。 この環境変数の値
MPS制御デーモンとすべてのMPSクライアントプロセスで一貫している必要があります。
デフォルトのディレクトリは/ tmp / nvidia-mpsです
CUDA_MPS_LOG_DIRECTORY
MPSログファイルを含むディレクトリを指定します。 この変数は、
MPS制御デーモンのみ。 デフォルトのディレクトリは/ var / log / nvidia-mpsです
onworks.netサービスを使用してオンラインでalt-nvidia-361-cuda-mps-controlを使用する