|
Ginkgo
Generated from pipelines/1556235455 branch based on develop. Ginkgo version 1.9.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:1777
This is a specialization of the OmpExecutor, which runs the reference implementations of the kernels ...
Definition: executor.hpp:1468
This is the Executor subclass which represents the CUDA device.
Definition: executor.hpp:1540
The Ginkgo namespace.
Definition: abstract_factory.hpp:20
This is the Executor subclass which represents a DPC++ enhanced device.
Definition: executor.hpp:1995
This is the Executor subclass which represents the OpenMP device (typically CPU).
Definition: executor.hpp:1386