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.



GPUDevice object representing 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.


collapse all

Create a gpuArray on the selected GPU device, then reset the 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
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
whos  % 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
M  % Try to display gpuArray
Data no longer exists on the GPU.
clear M

Introduced in R2012a