TargetDevice
is an option for certain functions that specifies on which device the computation should be attempted.
Details
- Possible settings for TargetDevice change depending on the system and the available hardware.
- General settings include:
-
"CPU" use the CPU "GPU" use available dedicated hardware - The specification TargetDevice->"GPU" has the following interpretation, depending on $SystemID:
-
"CoreML" "MacOSX-ARM64" "CUDA" "Windows-x86-64" or "Linux-x86-64" "DirectML" "Windows-x86-64" if no CUDA card is detected - Settings specific to system and available hardware include:
-
"CoreML" Apple CoreML framework "CUDA" Nvidia CUDA API "DirectML" Microsoft Direct Machine Learning API - Currently, the only settings supported by NetTrain are "CPU" and "CUDA".
- TargetDevice{"GPU",n} allows a specific GPU to be used, where n is an integer between 1 and the number of GPUs available on your computer.
- In general, a specific value of n might not identify the same GPU when different backends such as "CUDA" and "DirectML" are used.
- TargetDevice->{"GPU",All} specifies that all available GPUs should be used jointly.
- TargetDevice->{"GPU",{n1,n2,…}} specifies that a specific subset of the GPUs should be used jointly.
- On Apple silicon machines, TargetDevice->"CoreML" attempts to perform the computation using the Apple Neural Engine. It is not currently supported for NetTrain and NetMeasurements. »
- On Windows machines, TargetDevice->"DirectML" can perform the computation using an integrated or discrete GPU with DirectX support. It is not currently supported for NetTrain and NetMeasurements.
- TargetDevice"CUDA" requires NVIDIA GPUs with compute capability 3.7 or 5.0 and higher. »
- In a fresh Wolfram Language installation on Linux and Windows machines, TargetDevice->"GPU" and related GPU settings will automatically download additional libraries. Such a download can also trigger again in case updates are available. The downloads can also be started manually by running PacletInstall["MXNetResources"], PacletInstall["ONNXRuntimeResources"] and PacletInstall["CUDAResources"].
Examples
open allclose allBasic Examples (1)
Scope (6)
Inference (5)
Wolfram Research (2016), TargetDevice, Wolfram Language function, https://reference.wolfram.com/language/ref/TargetDevice.html (updated 2024).
Text
Wolfram Research (2016), TargetDevice, Wolfram Language function, https://reference.wolfram.com/language/ref/TargetDevice.html (updated 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