Shortcuts

Struct OptionalCUDAGuard

Page Contents

Struct Documentation

struct c10::cuda::OptionalCUDAGuard

A variant of OptionalDeviceGuard that is specialized for CUDA.

See CUDAGuard for when you can use this.

Public Functions

OptionalCUDAGuard()

Create an uninitialized OptionalCUDAGuard.

OptionalCUDAGuard(optional<Device> device_opt)

Set the current CUDA device to the passed Device, if it is not nullopt.

OptionalCUDAGuard(optional<DeviceIndex> device_index_opt)

Set the current CUDA device to the passed device index, if it is not nullopt.

OptionalCUDAGuard(const OptionalCUDAGuard&) = delete
OptionalCUDAGuard &operator=(const OptionalCUDAGuard&) = delete
OptionalCUDAGuard(OptionalCUDAGuard &&other) = delete
OptionalCUDAGuard &operator=(OptionalCUDAGuard &&other) = delete
void set_device(Device device)

Sets the CUDA device to the given device, initializing the guard if it is not already initialized.

Errors if the given device is not a CUDA device.

void reset_device(Device device)

Sets the CUDA device to the given device, initializing the guard if it is not already initialized.

Errors if the given device is not a CUDA device. (This method is provided for uniformity with OptionalDeviceGuard).

void set_index(DeviceIndex device_index)

Sets the CUDA device to the given device index, initializing the guard if it is not already initialized.

optional<Device> original_device() const

Returns the device that was set immediately prior to initialization of the guard, or nullopt if the guard is uninitialized.

optional<Device> current_device() const

Returns the most recent device that was set using this device guard, either from construction, or via set_device, if the guard is initialized, or nullopt if the guard is uninitialized.

void reset()

Restore the original CUDA device, resetting this guard to uninitialized state.

Docs

Access comprehensive developer documentation for PyTorch

View Docs

Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

Resources

Find development resources and get your questions answered

View Resources