Main Content


Reset GPU device and clear its memory



reset(gpudev) resets the GPU device and clears its memory of gpuArray and CUDAKernel data. The GPU device identified by gpudev remains the selected device, but all gpuArray and CUDAKernel objects in MATLAB representing data on that device are invalid.


collapse all

Create a gpuArray on the selected GPU device.

g = gpuDevice(1);
M = gpuArray(magic(4));
M  % Display gpuArray
    16     2     3    13
     5    11    10     8
     9     7     6    12
     4    14    15     1

Reset the device.

g   % Show that the device is still selected
g =

  CUDADevice with properties:

                      Name: 'Tesla K20c'
                     Index: 1
         ComputeCapability: '3.5'
            SupportsDouble: 1
             DriverVersion: 7.5
            ToolkitVersion: 7.5
        MaxThreadsPerBlock: 1024
          MaxShmemPerBlock: 49152
        MaxThreadBlockSize: [1024 1024 64]
               MaxGridSize: [2.1475e+09 65535 65535]
                 SIMDWidth: 32
               TotalMemory: 5.0327e+09
           AvailableMemory: 4.9190e+09
       MultiprocessorCount: 13
              ClockRateKHz: 705500
               ComputeMode: 'Default'
      GPUOverlapsTransfers: 1
    KernelExecutionTimeout: 0
          CanMapHostMemory: 1
           DeviceSupported: 1
            DeviceSelected: 1

Show that the gpuArray variable name is still in the MATLAB workspace

  Name      Size      Bytes  Class
  g         1x1         112  parallel.gpu.CUDADevice
  M         1x1         108  gpuArray

Try to display the gpuArray.

Data no longer exists on the GPU.

Clear the variable.

clear M

Input Arguments

collapse all

GPU device, specified as a GPUDevice object that represents the currently selected device


After you reset a GPU device, any variables representing arrays or kernels on the device are invalid; you should clear or redefine them.

Introduced in R2012a