Ginkgo  Generated from pipelines/1068515030 branch based on master. Ginkgo version 1.7.0
A numerical linear algebra library targeting many-core architectures
Public Member Functions | Static Public Member Functions | List of all members
gko::DpcppExecutor Class Reference

This is the Executor subclass which represents a DPC++ enhanced device. More...

#include <ginkgo/core/base/executor.hpp>

Inheritance diagram for gko::DpcppExecutor:
[legend]
Collaboration diagram for gko::DpcppExecutor:
[legend]

Public Member Functions

std::shared_ptr< Executorget_master () noexcept override
 Returns the master OmpExecutor of this Executor. More...
 
std::shared_ptr< const Executorget_master () const noexcept override
 Returns the master OmpExecutor of this Executor. More...
 
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
 
int get_device_id () const noexcept
 Get the DPCPP device id of the device associated to this executor. More...
 
sycl::queue * get_queue () const
 
const std::vector< int > & get_subgroup_sizes () const noexcept
 Get the available subgroup sizes for this device. More...
 
int get_num_computing_units () const noexcept
 Get the number of Computing Units of this executor. More...
 
int get_num_subgroups () const noexcept
 Get the number of subgroups of this executor.
 
const std::vector< int > & get_max_workitem_sizes () const noexcept
 Get the maximum work item sizes. More...
 
int get_max_workgroup_size () const noexcept
 Get the maximum workgroup size. More...
 
int get_max_subgroup_size () const noexcept
 Get the maximum subgroup size. More...
 
std::string get_device_type () const noexcept
 Get a string representing the device type. More...
 

Static Public Member Functions

static std::shared_ptr< DpcppExecutorcreate (int device_id, std::shared_ptr< Executor > master, std::string device_type="all", dpcpp_queue_property property=dpcpp_queue_property::in_order)
 Creates a new DpcppExecutor. More...
 
static int get_num_devices (std::string device_type)
 Get the number of devices present on the system. More...
 

Detailed Description

This is the Executor subclass which represents a DPC++ enhanced device.

Member Function Documentation

◆ create()

static std::shared_ptr<DpcppExecutor> gko::DpcppExecutor::create ( int  device_id,
std::shared_ptr< Executor master,
std::string  device_type = "all",
dpcpp_queue_property  property = dpcpp_queue_property::in_order 
)
static

Creates a new DpcppExecutor.

Parameters
device_idthe DPCPP device id of this device
masteran executor on the host that is used to invoke the device kernels
device_typea string representing the type of device to consider (accelerator, cpu, gpu or all).

◆ get_device_id()

int gko::DpcppExecutor::get_device_id ( ) const
inlinenoexcept

Get the DPCPP device id of the device associated to this executor.

Returns
the DPCPP device id of the device associated to this executor

◆ get_device_type()

std::string gko::DpcppExecutor::get_device_type ( ) const
inlinenoexcept

Get a string representing the device type.

Returns
a string representing the device type

◆ get_master() [1/2]

std::shared_ptr<const Executor> gko::DpcppExecutor::get_master ( ) const
overridevirtualnoexcept

Returns the master OmpExecutor of this Executor.

Returns
the master OmpExecutor of this Executor.

Implements gko::Executor.

◆ get_master() [2/2]

std::shared_ptr<Executor> gko::DpcppExecutor::get_master ( )
overridevirtualnoexcept

Returns the master OmpExecutor of this Executor.

Returns
the master OmpExecutor of this Executor.

Implements gko::Executor.

◆ get_max_subgroup_size()

int gko::DpcppExecutor::get_max_subgroup_size ( ) const
inlinenoexcept

Get the maximum subgroup size.

Returns
the maximum subgroup size

◆ get_max_workgroup_size()

int gko::DpcppExecutor::get_max_workgroup_size ( ) const
inlinenoexcept

Get the maximum workgroup size.

Returns
the maximum workgroup size

◆ get_max_workitem_sizes()

const std::vector<int>& gko::DpcppExecutor::get_max_workitem_sizes ( ) const
inlinenoexcept

Get the maximum work item sizes.

Returns
the maximum work item sizes

◆ get_num_computing_units()

int gko::DpcppExecutor::get_num_computing_units ( ) const
inlinenoexcept

Get the number of Computing Units of this executor.

Returns
the number of Computing Units of this executor

◆ get_num_devices()

static int gko::DpcppExecutor::get_num_devices ( std::string  device_type)
static

Get the number of devices present on the system.

Parameters
device_typea string representing the device type
Returns
the number of devices present on the system

◆ get_subgroup_sizes()

const std::vector<int>& gko::DpcppExecutor::get_subgroup_sizes ( ) const
inlinenoexcept

Get the available subgroup sizes for this device.

Returns
the available subgroup sizes for this device

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