Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
Alien::SYCLInternal::KernelInternal Class Reference
Collaboration diagram for Alien::SYCLInternal::KernelInternal:

Classes

class  sycl_reduction
class  sycl_reduction_sum
class  sycl_map_reduction_sum0
class  sycl_map_reduction_sum
class  sycl_map2_reduction_sum0
class  sycl_map3_reduction_sum0
class  map4_reduction_sum
class  map5_reduction_sum
class  map5_reduction_sum1

Public Member Functions

void setDotAlgo (int dot_algo)
template<typename T>
void assign (T const a, sycl::buffer< T > &y)
template<typename T, typename Lambda>
void apply (Lambda const &lambda, sycl::buffer< T > &y)
template<typename T>
void scal (T a, sycl::buffer< T > &y)
template<typename T>
void axpy (T const a, sycl::buffer< T > &x, sycl::buffer< T > &y)
template<typename T>
void axpy (T const a, sycl::buffer< T > &x, Integer stride_x, sycl::buffer< T > &y, Integer stride_y)
template<typename T>
void pointwiseMult (sycl::buffer< T > &x, sycl::buffer< T > &y, sycl::buffer< T > &z)
template<typename T>
void copy (sycl::buffer< T > &x, sycl::buffer< T > &y)
template<typename T>
void copy (sycl::buffer< T > &x, Integer stride_x, sycl::buffer< T > &y, Integer stride_y)
template<typename index_t>
index_t round_up (const index_t x, const index_t y)
template<typename T>
reduce_sum (sycl::buffer< T > &x, sycl::buffer< T > &y)
template<typename T>
map_reduce_sum (sycl::buffer< T > &x, sycl::buffer< T > &y)
template<typename T>
map2_reduce_sum (sycl::buffer< T > &x, sycl::buffer< T > &y)
template<typename T>
map3_reduce_sum (sycl::buffer< T > &x, sycl::buffer< T > &y)
template<typename T>
void asynch_map4_reduce_sum (sycl::buffer< T > &x, sycl::buffer< T > &y, sycl::buffer< T > &res, sycl::event &event)
template<typename T>
end_map4_reduce_sum (sycl::event &event, sycl::buffer< T > &res, std::size_t num_blocks)
template<typename T>
void asynch_map5_reduce_sum (sycl::buffer< T > &x, sycl::buffer< T > &y, sycl::buffer< T > &res, sycl::event &event)
template<typename T>
end_map5_reduce_sum (sycl::event &event, sycl::buffer< T > &res, std::size_t num_blocks)
template<typename T>
reduce_sum2 (const std::vector< T > &x)
template<typename T>
sycl_reduce_sum (sycl::buffer< T > &x, sycl::buffer< T > &y)
template<typename T>
dot_product_h100 (sycl::buffer< T > &buf_x, sycl::buffer< T > &buf_y)
template<typename T>
std::size_t asynch_dot_product_h100 (sycl::buffer< T > &buf_x, sycl::buffer< T > &buf_y, sycl::buffer< T > &res, sycl::event &event)
template<typename T>
end_dot_product_h100 (sycl::event &event, sycl::buffer< T > &res, std::size_t num_blocks)
template<typename T>
dot_product_mi300 (sycl::buffer< T, 1 > &x_buf, sycl::buffer< T, 1 > &y_buf)
template<typename T>
void asynch_dot_product_mi300 (sycl::buffer< T, 1 > &x_buf, sycl::buffer< T, 1 > &y_buf, sycl::buffer< T, 1 > &result_buf, sycl::event &event)
template<typename T>
end_dot_product_mi300 (sycl::event &event, sycl::buffer< T > &res, std::size_t num_blocks)
template<typename T>
dot (sycl::buffer< T > &x, sycl::buffer< T > &y)
template<typename T>
void dot (sycl::buffer< T > &x, sycl::buffer< T > &y, Future< Real > &res)
template<>
sycl::buffer< double > & getWorkBuffer (std::size_t size)

Private Member Functions

template<typename T>
sycl::buffer< T > & getWorkBuffer (std::size_t size)

Private Attributes

int m_dot_algo = 3
SYCLEnvm_env = nullptr
std::size_t m_max_num_groups = 0
std::size_t m_max_work_group_size = 0
std::size_t m_total_threads = 0
sycl::buffer< double > * m_double_work = nullptr

Detailed Description

Definition at line 289 of file SYCLKernelInternal.h.

Constructor & Destructor Documentation

◆ KernelInternal()

Alien::SYCLInternal::KernelInternal::KernelInternal ( )
inline

Definition at line 295 of file SYCLKernelInternal.h.

◆ ~KernelInternal()

virtual Alien::SYCLInternal::KernelInternal::~KernelInternal ( )
inlinevirtual

Definition at line 306 of file SYCLKernelInternal.h.

Member Function Documentation

◆ apply()

template<typename T, typename Lambda>
void Alien::SYCLInternal::KernelInternal::apply ( Lambda const & lambda,
sycl::buffer< T > & y )
inline

Definition at line 343 of file SYCLKernelInternal.h.

◆ assign()

template<typename T>
void Alien::SYCLInternal::KernelInternal::assign ( T const a,
sycl::buffer< T > & y )
inline

Definition at line 314 of file SYCLKernelInternal.h.

◆ asynch_dot_product_h100()

template<typename T>
std::size_t Alien::SYCLInternal::KernelInternal::asynch_dot_product_h100 ( sycl::buffer< T > & buf_x,
sycl::buffer< T > & buf_y,
sycl::buffer< T > & res,
sycl::event & event )
inline

Definition at line 1787 of file SYCLKernelInternal.h.

◆ asynch_dot_product_mi300()

template<typename T>
void Alien::SYCLInternal::KernelInternal::asynch_dot_product_mi300 ( sycl::buffer< T, 1 > & x_buf,
sycl::buffer< T, 1 > & y_buf,
sycl::buffer< T, 1 > & result_buf,
sycl::event & event )
inline

Definition at line 1968 of file SYCLKernelInternal.h.

◆ asynch_map4_reduce_sum()

template<typename T>
void Alien::SYCLInternal::KernelInternal::asynch_map4_reduce_sum ( sycl::buffer< T > & x,
sycl::buffer< T > & y,
sycl::buffer< T > & res,
sycl::event & event )
inline

Definition at line 1126 of file SYCLKernelInternal.h.

◆ asynch_map5_reduce_sum()

template<typename T>
void Alien::SYCLInternal::KernelInternal::asynch_map5_reduce_sum ( sycl::buffer< T > & x,
sycl::buffer< T > & y,
sycl::buffer< T > & res,
sycl::event & event )
inline

Definition at line 1235 of file SYCLKernelInternal.h.

◆ axpy() [1/2]

template<typename T>
void Alien::SYCLInternal::KernelInternal::axpy ( T const a,
sycl::buffer< T > & x,
Integer stride_x,
sycl::buffer< T > & y,
Integer stride_y )
inline

Definition at line 508 of file SYCLKernelInternal.h.

◆ axpy() [2/2]

template<typename T>
void Alien::SYCLInternal::KernelInternal::axpy ( T const a,
sycl::buffer< T > & x,
sycl::buffer< T > & y )
inline

Definition at line 458 of file SYCLKernelInternal.h.

◆ copy() [1/2]

template<typename T>
void Alien::SYCLInternal::KernelInternal::copy ( sycl::buffer< T > & x,
Integer stride_x,
sycl::buffer< T > & y,
Integer stride_y )
inline

Definition at line 646 of file SYCLKernelInternal.h.

◆ copy() [2/2]

template<typename T>
void Alien::SYCLInternal::KernelInternal::copy ( sycl::buffer< T > & x,
sycl::buffer< T > & y )
inline

Definition at line 619 of file SYCLKernelInternal.h.

◆ dot() [1/2]

template<typename T>
T Alien::SYCLInternal::KernelInternal::dot ( sycl::buffer< T > & x,
sycl::buffer< T > & y )
inline

Definition at line 2015 of file SYCLKernelInternal.h.

◆ dot() [2/2]

template<typename T>
void Alien::SYCLInternal::KernelInternal::dot ( sycl::buffer< T > & x,
sycl::buffer< T > & y,
Future< Real > & res )
inline

Definition at line 2037 of file SYCLKernelInternal.h.

◆ dot_product_h100()

template<typename T>
T Alien::SYCLInternal::KernelInternal::dot_product_h100 ( sycl::buffer< T > & buf_x,
sycl::buffer< T > & buf_y )
inline

Definition at line 1719 of file SYCLKernelInternal.h.

◆ dot_product_mi300()

template<typename T>
T Alien::SYCLInternal::KernelInternal::dot_product_mi300 ( sycl::buffer< T, 1 > & x_buf,
sycl::buffer< T, 1 > & y_buf )
inline

Definition at line 1869 of file SYCLKernelInternal.h.

◆ end_dot_product_h100()

template<typename T>
T Alien::SYCLInternal::KernelInternal::end_dot_product_h100 ( sycl::event & event,
sycl::buffer< T > & res,
std::size_t num_blocks )
inline

Definition at line 1838 of file SYCLKernelInternal.h.

◆ end_dot_product_mi300()

template<typename T>
T Alien::SYCLInternal::KernelInternal::end_dot_product_mi300 ( sycl::event & event,
sycl::buffer< T > & res,
std::size_t num_blocks )
inline

Definition at line 2005 of file SYCLKernelInternal.h.

◆ end_map4_reduce_sum()

template<typename T>
T Alien::SYCLInternal::KernelInternal::end_map4_reduce_sum ( sycl::event & event,
sycl::buffer< T > & res,
std::size_t num_blocks )
inline

Definition at line 1219 of file SYCLKernelInternal.h.

◆ end_map5_reduce_sum()

template<typename T>
T Alien::SYCLInternal::KernelInternal::end_map5_reduce_sum ( sycl::event & event,
sycl::buffer< T > & res,
std::size_t num_blocks )
inline

Definition at line 1372 of file SYCLKernelInternal.h.

◆ getWorkBuffer()

template<>
sycl::buffer< double > & Alien::SYCLInternal::KernelInternal::getWorkBuffer ( std::size_t size)

Definition at line 570 of file SYCLInternalLinearAlgebra.cc.

◆ map2_reduce_sum()

template<typename T>
T Alien::SYCLInternal::KernelInternal::map2_reduce_sum ( sycl::buffer< T > & x,
sycl::buffer< T > & y )
inline

Definition at line 936 of file SYCLKernelInternal.h.

◆ map3_reduce_sum()

template<typename T>
T Alien::SYCLInternal::KernelInternal::map3_reduce_sum ( sycl::buffer< T > & x,
sycl::buffer< T > & y )
inline

Definition at line 1030 of file SYCLKernelInternal.h.

◆ map_reduce_sum()

template<typename T>
T Alien::SYCLInternal::KernelInternal::map_reduce_sum ( sycl::buffer< T > & x,
sycl::buffer< T > & y )
inline

Definition at line 791 of file SYCLKernelInternal.h.

◆ pointwiseMult()

template<typename T>
void Alien::SYCLInternal::KernelInternal::pointwiseMult ( sycl::buffer< T > & x,
sycl::buffer< T > & y,
sycl::buffer< T > & z )
inline

Definition at line 533 of file SYCLKernelInternal.h.

◆ reduce_sum()

template<typename T>
T Alien::SYCLInternal::KernelInternal::reduce_sum ( sycl::buffer< T > & x,
sycl::buffer< T > & y )
inline

Definition at line 686 of file SYCLKernelInternal.h.

◆ reduce_sum2()

template<typename T>
T Alien::SYCLInternal::KernelInternal::reduce_sum2 ( const std::vector< T > & x)
inline

Definition at line 1382 of file SYCLKernelInternal.h.

◆ round_up()

template<typename index_t>
index_t Alien::SYCLInternal::KernelInternal::round_up ( const index_t x,
const index_t y )
inline

Definition at line 677 of file SYCLKernelInternal.h.

◆ scal()

template<typename T>
void Alien::SYCLInternal::KernelInternal::scal ( T a,
sycl::buffer< T > & y )
inline

Definition at line 412 of file SYCLKernelInternal.h.

◆ setDotAlgo()

void Alien::SYCLInternal::KernelInternal::setDotAlgo ( int dot_algo)
inline

Definition at line 308 of file SYCLKernelInternal.h.

◆ sycl_reduce_sum()

template<typename T>
T Alien::SYCLInternal::KernelInternal::sycl_reduce_sum ( sycl::buffer< T > & x,
sycl::buffer< T > & y )
inline

Definition at line 1498 of file SYCLKernelInternal.h.

Member Data Documentation

◆ m_dot_algo

int Alien::SYCLInternal::KernelInternal::m_dot_algo = 3
private

Definition at line 292 of file SYCLKernelInternal.h.

◆ m_double_work

sycl::buffer<double>* Alien::SYCLInternal::KernelInternal::m_double_work = nullptr
mutableprivate

Definition at line 2088 of file SYCLKernelInternal.h.

◆ m_env

SYCLEnv* Alien::SYCLInternal::KernelInternal::m_env = nullptr
private

Definition at line 2079 of file SYCLKernelInternal.h.

◆ m_max_num_groups

std::size_t Alien::SYCLInternal::KernelInternal::m_max_num_groups = 0
private

Definition at line 2080 of file SYCLKernelInternal.h.

◆ m_max_work_group_size

std::size_t Alien::SYCLInternal::KernelInternal::m_max_work_group_size = 0
private

Definition at line 2081 of file SYCLKernelInternal.h.

◆ m_total_threads

std::size_t Alien::SYCLInternal::KernelInternal::m_total_threads = 0
private

Definition at line 2082 of file SYCLKernelInternal.h.


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