TargetDevice

TargetDevice

ある種の関数のオプションで,どのデバイスで計算をすべきかを指定する.

詳細

  • TargetDeviceの可能な設定は,システムと利用可能なハードウェアに応じて変る.
  • 次は,一般的な設定である.
  • "CPU"CPUを使う
    "GPU"使用可能な専用ハードウェアを使う
  • TargetDevice->"GPU"の指定は,$SystemIDによって以下の解釈がなされる.
  • "CoreML""MacOSX-ARM64"
    "CUDA""Windows-x86-64"または"Linux-x86-64"
    "DirectML"CUDAが検出されない場合は"Windows-x86-64"
  • 次は,システム特有の設定と使用可能なハードウェアである.
  • "CoreML"Apple CoreMLフレームワーク
    "CUDA"Nvidia CUDA API
    "DirectML"Microsoft Direct Machine Learning API
  • TargetDevice{"GPU",n}は,特定のGPUの使用を許可する.ただし,n は1から使用中のコンピュータで使用可能なGPU数までの整数である.
  • 一般に,"CUDA""DirectML"のような異なるバックエンドが使用されている場合は,n の特定の値が同じGPUを特定しない場合もある.
  • TargetDevice->{"GPU",All}は,使用可能な全GPUを連結して使うように指定する.
  • TargetDevice->{"GPU",{n1,n2,}}は,GPUの特定の部分集合を連結して使うように指定する.
  • Appleシリコンマシン上では,TargetDevice->"CoreML"はApple Neural Engineを使って計算しようとする.
  • Windowsマシン上では,TargetDevice->"DirectML"は,DirectXをサポートする統合されたあるいは個別のGPUを使って計算することができる.
  • TargetDevice"CUDA"は,計算性能が3.7または5.0以上のNVIDIA GPUを必要とする.
  • Wolfram言語を新たにインストールするとTargetDevice->"GPU"および関連するGPUの設定で追加的なライブラリ("MXNetResources")が自動的にダウンロードされる.このようなダウンロードはアップデートの際にもトリガされる.ダウンロードはPacletInstall["MXNetResources"]を実行することで手動で始めることもできる.

例題

すべて開くすべて閉じる

  (1)

システムのデフォルトGPUを使ってネットワークを訓練する:

システムのデフォルトGPUを使って結果のネットワークを評価する:

スコープ  (1)

指定されたGPUを使ってネットを訓練する:

指定されたGPUを使ってネットを訓練する.各GPUは,各訓練反復ごとに16の訓練例からなるバッチを受け取る:

使用可能な全GPUを使ってネットを訓練する:

考えられる問題  (1)

この操作は,システムのGPUがサポートされていない場合は失敗する:

Wolfram Research (2016), TargetDevice, Wolfram言語関数, https://reference.wolfram.com/language/ref/TargetDevice.html (2024年に更新).

テキスト

Wolfram Research (2016), TargetDevice, Wolfram言語関数, https://reference.wolfram.com/language/ref/TargetDevice.html (2024年に更新).

CMS

Wolfram Language. 2016. "TargetDevice." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/TargetDevice.html.

APA

Wolfram Language. (2016). TargetDevice. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/TargetDevice.html

BibTeX

@misc{reference.wolfram_2024_targetdevice, author="Wolfram Research", title="{TargetDevice}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/TargetDevice.html}", note=[Accessed: 18-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_targetdevice, organization={Wolfram Research}, title={TargetDevice}, year={2024}, url={https://reference.wolfram.com/language/ref/TargetDevice.html}, note=[Accessed: 18-November-2024 ]}