Ginkgo  Generated from pipelines/375350765 branch based on develop. Ginkgo version 1.5.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>

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.
 
void run (const Operation &op) const override
 Runs the specified Operation using this Executor. More...
 
int get_device_id () const noexcept
 Get the DPCPP device id of the device associated to this executor. More...
 
::cl::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...
 
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")
 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" 
)
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

◆ run()

void gko::DpcppExecutor::run ( const Operation op) const
overridevirtual

Runs the specified Operation using this Executor.

Parameters
opthe operation to run

Implements gko::Executor.


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