Go to the documentation of this file.
12 #ifndef YAKL_DEFAULT_VECTOR_LEN
13 #if defined(YAKL_ARCH_CUDA)
14 #define YAKL_DEFAULT_VECTOR_LEN 128
15 #elif defined(YAKL_ARCH_HIP)
16 #define YAKL_DEFAULT_VECTOR_LEN 256
17 #elif defined(YAKL_ARCH_SYCL)
18 #define YAKL_DEFAULT_VECTOR_LEN 128
21 #define YAKL_DEFAULT_VECTOR_LEN 128
43 template <
int VL = YAKL_DEFAULT_VECTOR_LEN,
bool B4B = false>
98 #if defined(YAKL_ARCH_SYCL)
105 sycl::nd_item<1>
const *ptr;
108 YAKL_INLINE sycl::nd_item<1> get_item()
const {
return *ptr; }
int get_inner_size() const
Get the inner loop size for hierarchical parallelism.
Definition: YAKL_LaunchConfig.h:66
struct yakl::InnerHandlerEmpty InnerHandler
This class is necessary for coordination of two-level parallelism.
LaunchConfig(LaunchConfig &&rhs)
LaunchConfig objects may be copied or moved.
Definition: YAKL_LaunchConfig.h:56
~LaunchConfig()
Definition: YAKL_LaunchConfig.h:52
Implements the functionality of a stream for parallel kernel execution. If the Stream::create() metho...
Definition: YAKL_streams_events.h:394
This class informs YAKL parallel_for and parallel_outer routines how to launch kernels.
Definition: YAKL_LaunchConfig.h:44
LaunchConfig(LaunchConfig const &rhs)
LaunchConfig objects may be copied or moved.
Definition: YAKL_LaunchConfig.h:54
LaunchConfig()
set_inner_size() defaults to YAKL_DEFAULT_VECTOR_LEN
Definition: YAKL_LaunchConfig.h:51
LaunchConfig & operator=(LaunchConfig const &rhs)
LaunchConfig objects may be copied or moved.
Definition: YAKL_LaunchConfig.h:58
#define __YAKL_NAMESPACE_WRAPPER_END__
Definition: YAKL.h:20
#define __YAKL_NAMESPACE_WRAPPER_BEGIN__
Definition: YAKL.h:19
#define YAKL_INLINE
Used to decorate functions called from kernels (parallel_for and parallel_outer) or from CPU function...
Definition: YAKL_defines.h:140
This class is necessary for coordination of two-level parallelism.
Definition: YAKL_LaunchConfig.h:111
LaunchConfig set_stream(Stream stream)
Set the stream in which this launch will run.
Definition: YAKL_LaunchConfig.h:68
void copyfrom(LaunchConfig const &rhs)
Definition: YAKL_LaunchConfig.h:61
Stream get_stream() const
Get the stream in which this launch will run.
Definition: YAKL_LaunchConfig.h:70
LaunchConfig set_inner_size(int num)
This sets the actual inner looping size whereas the template parameter VL sets the maximum inner loop...
Definition: YAKL_LaunchConfig.h:64
LaunchConfig & operator=(LaunchConfig &&rhs)
LaunchConfig objects may be copied or moved.
Definition: YAKL_LaunchConfig.h:60