![]() |
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 HIP enhanced device. 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. | |
| scoped_device_id_guard | get_scoped_device_id_guard () const override |
| std::string | get_description () const override |
| int | get_device_id () const noexcept |
| Get the HIP device id of the device associated to this executor. | |
| int | get_num_warps_per_sm () const noexcept |
| Get the number of warps per SM of this executor. | |
| int | get_num_multiprocessor () const noexcept |
| Get the number of multiprocessor of this executor. | |
| int | get_major_version () const noexcept |
| Get the major version of compute capability. | |
| int | get_minor_version () const noexcept |
| Get the minor version of compute capability. | |
| int | get_num_warps () const noexcept |
| Get the number of warps of this executor. | |
| int | get_warp_size () const noexcept |
| Get the warp size of this executor. | |
| hipblasContext * | get_hipblas_handle () const |
| Get the hipblas handle for this executor. | |
| hipblasContext * | get_blas_handle () const |
| Get the hipblas handle for this executor. | |
| hipsparseContext * | get_hipsparse_handle () const |
| Get the hipsparse handle for this executor. | |
| hipsparseContext * | get_sparselib_handle () const |
| Get the hipsparse handle for this executor. | |
| int | get_closest_numa () const |
| Get the closest NUMA node. | |
| std::vector< int > | get_closest_pus () const |
| Get the closest PUs. | |
| CUstream_st * | get_stream () const |
| 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< HipExecutor > | create (int device_id, std::shared_ptr< Executor > master, bool device_reset, allocation_mode alloc_mode=default_hip_alloc_mode, CUstream_st *stream=nullptr) |
| Creates a new HipExecutor. | |
| static std::shared_ptr< HipExecutor > | create (int device_id, std::shared_ptr< Executor > master, std::shared_ptr< HipAllocatorBase > alloc=std::make_shared< HipAllocator >(), CUstream_st *stream=nullptr) |
| static int | get_num_devices () |
| Get the number of devices present on the system. | |
This is the Executor subclass which represents the HIP enhanced device.
|
static |
Creates a new HipExecutor.
| device_id | the HIP device id of this device |
| master | an executor on the host that is used to invoke the device kernels |
| device_reset | whether to reset the device after the object exits the scope. |
| alloc_mode | the allocation mode that the executor should operate on. See @allocation_mode for more details |
References gko::Executor::alloc(), and create().
Referenced by create().
|
inline |
Get the hipblas handle for this executor.
Referenced by get_hipblas_handle().
|
inline |
Get the closest NUMA node.
|
inline |
Get the closest PUs.
|
overridevirtual |
Implements gko::Executor.
References get_description().
Referenced by get_description().
|
inline |
Get the hipblas handle for this executor.
References get_blas_handle(), and get_hipblas_handle().
Referenced by get_hipblas_handle().
|
inline |
Get the hipsparse handle for this executor.
References get_hipsparse_handle(), and get_sparselib_handle().
Referenced by get_hipsparse_handle().
|
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.
References get_master().
Referenced by get_master(), and get_master().
|
overridevirtual |
Implements gko::Executor.
|
inline |
Get the hipsparse handle for this executor.
Referenced by get_hipsparse_handle().
|
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.
|
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().