is an option for certain functions that specifies whether CPU or GPU computation should be attempted.


  • Typically possible settings are "CPU" and "GPU".
  • TargetDevice can be used with NetTrain to determine on which device a network is trained.
  • TargetDevice can be supplied when applying a trained neural net to an input to determine on which device the network is evaluated.
  • With the setting TargetDevice->"GPU", the Wolfram Language will attempt to use a GPU if it is available on your computer.
  • 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.
  • 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.
  • Only NVIDIA GPUs with the following compute capabilities are currently supported:
  • Capability 3.7Kepler architectureTesla K80
    Capability 5.0Maxwell architectureGTX 750 etc.
    Capability 5.2Maxwell architectureGTX 980 etc.
    Capability 6.0Pascal architectureTesla P100 etc.
    Capability 6.1Pascal architectureGTX 1080 etc.
    Capability 7.0Volta architectureTesla V100 etc.
    Capability 7.5Turing architectureRTX 2080 etc.


open all close all

Basic Examples  (1)

Train a net using the system's default GPU:

Click for copyable input

Evaluate the resulting net using the system's default GPU:

Click for copyable input

Scope  (1)

Possible Issues  (1)

Introduced in 2016