メインコンテンツ

GPU デバイスの識別と選択

この例では、gpuDevice を使用して、使用するデバイスの識別と選択を行う方法を説明します。

お使いのコンピューターで利用できる GPU デバイスの数を確認するには、関数gpuDeviceCountを使用します。

gpuDeviceCount("available")
ans = 
2

デバイスが複数ある場合は、1 番目のデバイスが既定になります。関数gpuDeviceTableでそのプロパティを調べて、使用する目的のデバイスかどうかを判断することができます。

gpuDeviceTable
ans=2×5 table
    1    "NVIDIA RTX A5000"    "8.6"    true     true
    2    "NVIDIA RTX A5000"    "8.6"    true    false

最初のデバイスが使用する目的のデバイスである場合は、次に進むことができます。GPU 上で計算を実行するには、gpuArray対応関数を使用します。詳細については、GPU での MATLAB 関数の実行を参照してください。

MATLAB® で GPU を使用できることを確認するには、canUseGPU関数を使用します。この関数は、計算に使用できる GPU がある場合は 1 (true) を返し、ない場合は 0 (false) を返します。

canUseGPU
ans = logical
   1

canUseGPU0 (false) を返す場合などに GPU の設定に関する問題を診断するには、validateGPU関数を使用します。GPU の検証はオプションです。

validateGPU
# Beginning GPU validation
# Performing system validation
#    CUDA-supported platform .................................................PASSED
#    CUDA-enabled graphics driver exists .....................................PASSED
#        Version: 570.133.07
#    CUDA-enabled graphics driver load .......................................PASSED
#    CUDA environment variables ..............................................PASSED
#        CUDA_VISIBLE_DEVICES: "0,1"
#    CUDA device count .......................................................PASSED
#        Found 2 devices.
#    GPU libraries load ......................................................PASSED
# 
# Performing device validation for device index 1
#    Device exists ...........................................................PASSED
#        NVIDIA RTX A5000
#    Device supported ........................................................PASSED
#    Device available ........................................................PASSED
#        Device is in 'Default' compute mode.
#    Device selectable .......................................................PASSED
#    Device memory allocation ................................................PASSED
#    Device kernel launch ....................................................PASSED
# 
# Finished GPU validation with no failures.

他のデバイスを使用するには、そのデバイスのインデックスを指定してgpuDeviceを呼び出します。

gpuDevice(2)
ans = 
  CUDADevice with properties:

                 Name: 'NVIDIA RTX A5000'
                Index: 2 (of 2)
    ComputeCapability: '8.6'
          DriverModel: 'N/A'
          TotalMemory: 25294995456 (25.29 GB)
      AvailableMemory: 25073221632 (25.07 GB)
      DeviceAvailable: true
       DeviceSelected: true

  Show all properties.

あるいは、利用できる GPU デバイスの数を判別し、デバイスのプロパティのいくつかを検査して、MATLAB® デスクトップから使用するデバイスを選択することもできます。[ホーム] タブの [環境] 領域で、[並列][GPU 環境の選択] を選択します。

The Select GPU Environment menu showing two NVIDIA RTX A5000 GPUs.

参考

| | | | |

トピック