Caffe2 - C++ API
A deep learning, cross platform ML framework
Public Member Functions
c10::cuda::OptionalCUDAGuard Struct Reference

A variant of OptionalDeviceGuard that is specialized for CUDA. More...

#include <CUDAGuard.h>

Public Member 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
 
OptionalCUDAGuardoperator= (const OptionalCUDAGuard &)=delete
 
 OptionalCUDAGuard (OptionalCUDAGuard &&other)=delete
 
OptionalCUDAGuardoperator= (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. More...
 
void reset_device (Device device)
 Sets the CUDA device to the given device, initializing the guard if it is not already initialized. More...
 
void set_index (DeviceIndex device_index)
 Sets the CUDA device to the given device index, initializing the guard if it is not already initialized. More...
 
optional< Deviceoriginal_device () const
 Returns the device that was set immediately prior to initialization of the guard, or nullopt if the guard is uninitialized. More...
 
optional< Devicecurrent_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. More...
 
void reset ()
 Restore the original CUDA device, resetting this guard to uninitialized state.
 

Detailed Description

A variant of OptionalDeviceGuard that is specialized for CUDA.

See CUDAGuard for when you can use this.

Definition at line 65 of file CUDAGuard.h.

Member Function Documentation

optional<Device> c10::cuda::OptionalCUDAGuard::current_device ( ) const
inline

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.

Definition at line 106 of file CUDAGuard.h.

optional<Device> c10::cuda::OptionalCUDAGuard::original_device ( ) const
inline

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

Definition at line 101 of file CUDAGuard.h.

void c10::cuda::OptionalCUDAGuard::reset_device ( Device  device)
inline

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).

Definition at line 93 of file CUDAGuard.h.

void c10::cuda::OptionalCUDAGuard::set_device ( Device  device)
inline

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.

Definition at line 88 of file CUDAGuard.h.

void c10::cuda::OptionalCUDAGuard::set_index ( DeviceIndex  device_index)
inline

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

Definition at line 97 of file CUDAGuard.h.


The documentation for this struct was generated from the following file: