  | 
  
    Ginkgo
    Generated from pipelines/1330831941 branch based on master. Ginkgo version 1.8.0
    
   A numerical linear algebra library targeting many-core architectures 
   | 
 
 
 
 
    5 #ifndef GKO_PUBLIC_CORE_BASE_SCOPED_DEVICE_ID_GUARD_HPP_ 
    6 #define GKO_PUBLIC_CORE_BASE_SCOPED_DEVICE_ID_GUARD_HPP_ 
   16 class ReferenceExecutor;
 
   29 class generic_scoped_device_id_guard {
 
   31     generic_scoped_device_id_guard() = 
default;
 
   35     virtual ~generic_scoped_device_id_guard() = 
default;
 
   38     generic_scoped_device_id_guard(
 
   39         const generic_scoped_device_id_guard& other) = 
delete;
 
   42     generic_scoped_device_id_guard& operator=(
 
   43         const generic_scoped_device_id_guard& other) = 
delete;
 
  147     std::unique_ptr<detail::generic_scoped_device_id_guard> scope_;
 
  153 #endif  // GKO_PUBLIC_CORE_BASE_SCOPED_DEVICE_ID_GUARD_HPP_ 
  
This move-only class uses RAII to set the device id within a scoped block, if necessary.
Definition: scoped_device_id_guard.hpp:76
 
This is the Executor subclass which represents the HIP enhanced device.
Definition: executor.hpp:1701
 
This is a specialization of the OmpExecutor, which runs the reference implementations of the kernels ...
Definition: executor.hpp:1415
 
This is the Executor subclass which represents the CUDA device.
Definition: executor.hpp:1483
 
The Ginkgo namespace.
Definition: abstract_factory.hpp:20
 
This is the Executor subclass which represents a DPC++ enhanced device.
Definition: executor.hpp:1900
 
This is the Executor subclass which represents the OpenMP device (typically CPU).
Definition: executor.hpp:1337