![]() |
Ginkgo Generated from branch based on main. Ginkgo version 1.10.0
A numerical linear algebra library targeting many-core architectures
|
This is the Executor subclass which represents the OpenMP device (typically CPU). More...
#include <ginkgo/core/base/executor.hpp>
Public Member Functions | |
std::shared_ptr< Executor > | get_master () noexcept override |
Returns the master OmpExecutor of this Executor. | |
std::shared_ptr< const Executor > | get_master () const noexcept override |
Returns the master OmpExecutor of this Executor. | |
void | synchronize () const override |
Synchronize the operations launched on the executor with its master. | |
int | get_num_cores () const |
int | get_num_threads_per_core () const |
scoped_device_id_guard | get_scoped_device_id_guard () const override |
std::string | get_description () const override |
virtual void | run (const Operation &op) const=0 |
Runs the specified Operation using this Executor. | |
template<typename ClosureOmp, typename ClosureCuda, typename ClosureHip, typename ClosureDpcpp> | |
void | run (const ClosureOmp &op_omp, const ClosureCuda &op_cuda, const ClosureHip &op_hip, const ClosureDpcpp &op_dpcpp) const |
Runs one of the passed in functors, depending on the Executor type. | |
template<typename ClosureReference, typename ClosureOmp, typename ClosureCuda, typename ClosureHip, typename ClosureDpcpp> | |
void | run (std::string name, const ClosureReference &op_ref, const ClosureOmp &op_omp, const ClosureCuda &op_cuda, const ClosureHip &op_hip, const ClosureDpcpp &op_dpcpp) const |
Runs one of the passed in functors, depending on the Executor type. |
Static Public Member Functions | |
static std::shared_ptr< OmpExecutor > | create (std::shared_ptr< CpuAllocatorBase > alloc=std::make_shared< CpuAllocator >()) |
Creates a new OmpExecutor. | |
static int | get_num_omp_threads () |
This is the Executor subclass which represents the OpenMP device (typically CPU).
|
overridevirtual |
Implements gko::Executor.
Reimplemented in gko::ReferenceExecutor.
References gko::Executor::alloc(), and gko::machine_topology::get_instance().
|
overridevirtualnoexcept |
Returns the master OmpExecutor of this Executor.
Implements gko::Executor.
References get_master().
|
overridevirtualnoexcept |
Returns the master OmpExecutor of this Executor.
Implements gko::Executor.
Referenced by get_master().
|
overridevirtual |
Implements gko::Executor.
|
inline |
Runs one of the passed in functors, depending on the Executor type.
ClosureOmp | type of op_omp |
ClosureCuda | type of op_cuda |
ClosureHip | type of op_hip |
ClosureDpcpp | type of op_dpcpp |
op_omp | functor to run in case of a OmpExecutor or ReferenceExecutor |
op_cuda | functor to run in case of a CudaExecutor |
op_hip | functor to run in case of a HipExecutor |
op_dpcpp | functor to run in case of a DpcppExecutor |
|
virtual |
Runs the specified Operation using this Executor.
op | the operation to run |
Implements gko::Executor.
Reimplemented in gko::ReferenceExecutor.
|
inline |
Runs one of the passed in functors, depending on the Executor type.
ClosureReference | type of op_ref |
ClosureOmp | type of op_omp |
ClosureCuda | type of op_cuda |
ClosureHip | type of op_hip |
ClosureDpcpp | type of op_dpcpp |
name | the name of the operation |
op_ref | functor to run in case of a ReferenceExecutor |
op_omp | functor to run in case of a OmpExecutor |
op_cuda | functor to run in case of a CudaExecutor |
op_hip | functor to run in case of a HipExecutor |
op_dpcpp | functor to run in case of a DpcppExecutor |
|
overridevirtual |
Synchronize the operations launched on the executor with its master.
Implements gko::Executor.
References synchronize().
Referenced by synchronize().