DPC++ Runtime
Runtime libraries for oneAPI DPC++
reduction_properties.hpp
Go to the documentation of this file.
1 //==------- reduction_properties.hpp --- SYCL reduction properties ---------==//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #pragma once
10 
11 #include <CL/sycl/context.hpp>
14 
16 namespace sycl {
17 namespace property {
18 namespace reduction {
20  : public detail::DataLessProperty<detail::InitializeToIdentity> {};
21 } // namespace reduction
22 } // namespace property
23 
24 // Reduction property trait specializations
25 template <>
26 struct is_property<property::reduction::initialize_to_identity>
27  : std::true_type {};
28 
29 } // namespace sycl
30 } // __SYCL_INLINE_NAMESPACE(cl)
property_traits.hpp
context.hpp
cl::sycl::reduction
std::enable_if_t< has_known_identity< BinaryOperation, T >::value, ext::oneapi::detail::reduction_impl< T, BinaryOperation, 0, 1, ext::oneapi::detail::default_reduction_algorithm< false, access::placeholder::true_t, 1 > > > reduction(buffer< T, 1, AllocatorT > Var, handler &CGH, BinaryOperation, const property_list &PropList={})
Constructs a reduction object using the given buffer Var, handler CGH, reduction operation Combiner,...
Definition: reduction.hpp:26
sycl
Definition: invoke_simd.hpp:68
cl::sycl::is_property
Definition: property_traits.hpp:15
cl::sycl::detail::DataLessProperty
Definition: property_helper.hpp:62
cl
We provide new interfaces for matrix muliply in this patch:
Definition: access.hpp:13
cl::sycl::property::reduction::initialize_to_identity
Definition: reduction_properties.hpp:19
property_helper.hpp
__SYCL_INLINE_NAMESPACE
#define __SYCL_INLINE_NAMESPACE(X)
Definition: defines_elementary.hpp:12