gpuDevice
GPU デバイスのクエリまたは選択
説明
GPUDevice オブジェクトはコンピューターのグラフィックス処理装置 (GPU) を表します。GPU を使用すると、gpuArray 変数をサポートする MATLAB® コードを実行することや、CUDAKernel オブジェクトを使用して CUDA® カーネルを実行することができます。
GPUDevice オブジェクトを使用して GPU デバイスのプロパティの検査、GPU デバイスのリセット、または GPU の計算が完了するまでの待機ができます。GPUDevice オブジェクトを取得するには、関数 gpuDevice を使用します。関数 gpuDevice を使用して GPU デバイスの選択または選択解除もできます。複数の GPU にアクセスできる場合、関数 gpuDevice を使用して、コードを実行する特定の GPU デバイスを選択します。
GPU 上で関数を実行するために GPUDevice オブジェクトを使用する必要はありません。GPU 対応関数の使用方法の詳細については、GPU での MATLAB 関数の実行を参照してください。
作成
説明
gpuDevice は、現在選択されている GPU デバイスのプロパティを表示します。現在デバイスが選択されていない場合、gpuDevice は、既定のデバイスをクリアせずに選択します。GPU デバイスのプロパティを検査するときに、この構文を使用します。
D = gpuDevice は、現在選択されているデバイスを表す GPUDevice オブジェクトを返します。現在デバイスが選択されていない場合、gpuDevice は既定のデバイスを選択し、そのデバイスを表す GPUDevice オブジェクトをクリアせずに返します。
gpuDevice([]) に空の引数が指定されると (引数がない場合とは異なる)、GPU デバイスの選択を解除し、メモリから gpuArray と CUDAKernel の変数をクリアします。この構文では、現在のデバイスとして選択されている GPU デバイスがなくなります。
入力引数
プロパティ
オブジェクト関数
reset | GPU デバイスをリセットし、そのメモリを消去する |
wait (GPUDevice) | GPU の計算が完了するまで待機 |
次の関数も使用できます。
parallel.gpu.GPUDevice.isAvailable(ind) | インデックス ind によって指定された GPU がサポートされていて選択可能な場合は、logical 1 または true を返します。ind は整数、または整数のベクトルで、既定のインデックスは現在のデバイスです。 |
parallel.gpu.GPUDevice.getDevice(ind) | GPUDevice オブジェクトを選択せずに返します。 |
関数の完全な一覧については、GPUDevice オブジェクトに対して関数 methods を使用してください。
methods('parallel.gpu.GPUDevice')次のコマンドを使用して、任意のオブジェクト関数のヘルプを取得できます。
help parallel.gpu.GPUDevice.functionname
ここで、functionname は関数の名前です。たとえば、isAvailable のヘルプを表示するには、次を入力します。
help parallel.gpu.GPUDevice.isAvailable
例
ヒント
リモート GPU のプロパティをクエリするには、クラスターを使用して並列プールを起動し、
spmdブロックの中でgpuDeviceを呼び出します。ワーカーに GPU が複数ある場合は、代わりにgpuDeviceTableを使用します。cluster = parcluster("myRemoteGPUCluster"); pool = parpool(cluster); spmd D = gpuDevice end
リモート GPU の使用の詳細については、Work with Remote GPUsを参照してください。
