CUDA-Coreグラフィックカード(Nvidia)を使用して、設計したソフトウェア(GUI)がコンピューターで動作しているかどうかを確認するコードが必要です。したがって、 'trueを取得した後; それからの価値、私のソフトウェアはプロセスを加速するためにいくつかの機能をアクティブにします。
ありがとう。
関数を使用できますgpuDevice
。私の場合、次の出力が得られます。
ans =
CUDADevice with properties:
Name: 'GeForce GTX 660 Ti'
Index: 1
ComputeCapability: '3.0'
SupportsDouble: 1
DriverVersion: 6
ToolkitVersion: 5.5000
MaxThreadsPerBlock: 1024
MaxShmemPerBlock: 49152
MaxThreadBlockSize: [1024 1024 64]
MaxGridSize: [2.1475e+09 65535 65535]
SIMDWidth: 32
TotalMemory: 2.1475e+09
FreeMemory: 1.7126e+09
MultiprocessorCount: 7
ClockRateKHz: 1019500
ComputeMode: 'Default'
GPUOverlapsTransfers: 1
KernelExecutionTimeout: 1
CanMapHostMemory: 1
DeviceSupported: 1
DeviceSelected: 1
(注:単純なドット参照によってさまざまなプロパティにアクセスできます。たとえば、次のans.MultiprocessorCount
ようになります7
。)
次のページも参照してください。
CUDAドライバーがインストールされていないコンピューターでこれをテストしました。私が得るのは次の例外です(これは実際current()
にはGPUDeviceクラスのメソッドによってスローされます):
...'
Error using gpuDevice (line 26)
There is a problem with the CUDA driver associated with this GPU device. See www.mathworks.com/gpudriver to find and install the latest
supported driver.
Caused by:
The CUDA driver could not be loaded. The library name used was 'nvcuda.dll'. The error was:
The specified module could not be found.
このため、最初にブロックで囲みgpuDevice
、try-catch
成功した場合にのみ、のようなチェックを続行することをお勧めしますparallel.gpu.GPUDevice.isAvailable(1)
。
複数のGPUを使用したセットアップ(非CUDAオンボード1 +アドオンCUDAカードなど)やCUDA GPUを備えていないが、CUDAドライバーがインストールされているシステムなど、私の回答でカバーされていないケースがまだあります。マルチGPUのケースでは、あなたはまた、メソッドを使用する必要がありますparallel.gpu.GPUDevice.count
とparallel.gpu.GPUDevice.select(idx)
。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加