DPC++ Runtime
Runtime libraries for oneAPI DPC++
reduction_forward.hpp File Reference
#include <sycl/detail/helpers.hpp>
#include <sycl/detail/item_base.hpp>
#include <sycl/id.hpp>
#include <sycl/item.hpp>
#include <sycl/nd_range.hpp>
#include <sycl/range.hpp>
#include <stddef.h>
Include dependency graph for reduction_forward.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  sycl::_V1::detail::reduction_impl_base
 Base non-template class which is a base class for all reduction implementation classes. More...
 
struct  sycl::_V1::detail::IsReduction< T >
 Predicate returning true if a type is a reduction. More...
 
struct  sycl::_V1::detail::AreAllButLastReductions< FirstT, RestT >
 Predicate returning true if all template type parameters except the last one are reductions. More...
 
struct  sycl::_V1::detail::AreAllButLastReductions< T >
 Helper specialization of AreAllButLastReductions for one element only. More...
 

Namespaces

 sycl
 
 sycl::_V1
 
 sycl::_V1::detail
 
 sycl::_V1::detail::reduction
 

Enumerations

enum class  sycl::_V1::detail::reduction::strategy : int {
  sycl::_V1::detail::reduction::auto_select , sycl::_V1::detail::reduction::group_reduce_and_last_wg_detection , sycl::_V1::detail::reduction::local_atomic_and_atomic_cross_wg , sycl::_V1::detail::reduction::range_basic ,
  sycl::_V1::detail::reduction::group_reduce_and_atomic_cross_wg , sycl::_V1::detail::reduction::local_mem_tree_and_atomic_cross_wg , sycl::_V1::detail::reduction::group_reduce_and_multiple_kernels , sycl::_V1::detail::reduction::basic ,
  sycl::_V1::detail::reduction::multi
}
 

Functions

void sycl::_V1::detail::reduction::finalizeHandler (handler &CGH)
 
template<class FunctorTy >
void sycl::_V1::detail::reduction::withAuxHandler (handler &CGH, FunctorTy Func)
 
template<int Dims>
item< Dims, false > sycl::_V1::detail::reduction::getDelinearizedItem (range< Dims > Range, id< Dims > Id)
 
template<typename KernelName , reduction::strategy Strategy = reduction::strategy::auto_select, int Dims, typename PropertiesT , typename... RestT>
void sycl::_V1::detail::reduction_parallel_for (handler &CGH, range< Dims > NDRange, PropertiesT Properties, RestT... Rest)
 
template<typename KernelName , reduction::strategy Strategy = reduction::strategy::auto_select, int Dims, typename PropertiesT , typename... RestT>
void sycl::_V1::detail::reduction_parallel_for (handler &CGH, nd_range< Dims > NDRange, PropertiesT Properties, RestT... Rest)