Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
Alien::SYCLInternal::Future< T > Class Template Reference
Collaboration diagram for Alien::SYCLInternal::Future< T >:

Public Types

using FunctionType = std::function<T(sycl::event&,sycl::buffer<T>&,std::size_t)>

Public Member Functions

 Future (T &value)
T & operator() ()
operator() () const
get ()
sycl::buffer< T, 1 > & deviceValue ()
sycl::event & event ()
void addRequest (Arccore::MessagePassing::IMessagePassingMng *parallel_mng, Arccore::MessagePassing::Request request)
void setWaitFunction (FunctionType wait_function)
void setNumBlocks (std::size_t num_blocks)

Private Attributes

T & m_value
sycl::buffer< T, 1 > m_d_value
sycl::event m_event
FunctionType m_wait_function = nullptr
std::size_t m_num_blocks = SYCLEnv::instance()->maxNumGroups() * TARGET_WAVES
Arccore::MessagePassing::IMessagePassingMng * m_parallel_mng = nullptr
Arccore::MessagePassing::Request m_request

Detailed Description

template<typename T>
class Alien::SYCLInternal::Future< T >

Definition at line 212 of file SYCLKernelInternal.h.

Member Typedef Documentation

◆ FunctionType

template<typename T>
using Alien::SYCLInternal::Future< T >::FunctionType = std::function<T(sycl::event&,sycl::buffer<T>&,std::size_t)>

Definition at line 215 of file SYCLKernelInternal.h.

Constructor & Destructor Documentation

◆ Future()

template<typename T>
Alien::SYCLInternal::Future< T >::Future ( T & value)
inline

Definition at line 216 of file SYCLKernelInternal.h.

Member Function Documentation

◆ addRequest()

template<typename T>
void Alien::SYCLInternal::Future< T >::addRequest ( Arccore::MessagePassing::IMessagePassingMng * parallel_mng,
Arccore::MessagePassing::Request request )
inline

Definition at line 261 of file SYCLKernelInternal.h.

◆ deviceValue()

template<typename T>
sycl::buffer< T, 1 > & Alien::SYCLInternal::Future< T >::deviceValue ( )
inline

Definition at line 251 of file SYCLKernelInternal.h.

◆ event()

template<typename T>
sycl::event & Alien::SYCLInternal::Future< T >::event ( )
inline

Definition at line 256 of file SYCLKernelInternal.h.

◆ get()

template<typename T>
T Alien::SYCLInternal::Future< T >::get ( )
inline

Definition at line 233 of file SYCLKernelInternal.h.

◆ operator()() [1/2]

template<typename T>
T & Alien::SYCLInternal::Future< T >::operator() ( )
inline

Definition at line 223 of file SYCLKernelInternal.h.

◆ operator()() [2/2]

template<typename T>
T Alien::SYCLInternal::Future< T >::operator() ( ) const
inline

Definition at line 228 of file SYCLKernelInternal.h.

◆ setNumBlocks()

template<typename T>
void Alien::SYCLInternal::Future< T >::setNumBlocks ( std::size_t num_blocks)
inline

Definition at line 273 of file SYCLKernelInternal.h.

◆ setWaitFunction()

template<typename T>
void Alien::SYCLInternal::Future< T >::setWaitFunction ( FunctionType wait_function)
inline

Definition at line 268 of file SYCLKernelInternal.h.

Member Data Documentation

◆ m_d_value

template<typename T>
sycl::buffer<T, 1> Alien::SYCLInternal::Future< T >::m_d_value
private

Definition at line 280 of file SYCLKernelInternal.h.

◆ m_event

template<typename T>
sycl::event Alien::SYCLInternal::Future< T >::m_event
private

Definition at line 281 of file SYCLKernelInternal.h.

◆ m_num_blocks

template<typename T>
std::size_t Alien::SYCLInternal::Future< T >::m_num_blocks = SYCLEnv::instance()->maxNumGroups() * TARGET_WAVES
private

Definition at line 283 of file SYCLKernelInternal.h.

◆ m_parallel_mng

template<typename T>
Arccore::MessagePassing::IMessagePassingMng* Alien::SYCLInternal::Future< T >::m_parallel_mng = nullptr
private

Definition at line 285 of file SYCLKernelInternal.h.

◆ m_request

template<typename T>
Arccore::MessagePassing::Request Alien::SYCLInternal::Future< T >::m_request
private

Definition at line 286 of file SYCLKernelInternal.h.

◆ m_value

template<typename T>
T& Alien::SYCLInternal::Future< T >::m_value
private

Definition at line 279 of file SYCLKernelInternal.h.

◆ m_wait_function

template<typename T>
FunctionType Alien::SYCLInternal::Future< T >::m_wait_function = nullptr
private

Definition at line 282 of file SYCLKernelInternal.h.


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