DPC++ Runtime
Runtime libraries for oneAPI Data Parallel C++
sub_group.hpp
Go to the documentation of this file.
1 //==----------- sub_group.hpp --- SYCL sub-group ---------------------------==//
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/group.hpp>
13 
15 namespace sycl {
16 using ext::oneapi::sub_group;
17 // TODO move the entire sub_group class implementation to this file once
18 // breaking changes are allowed.
19 
20 namespace ext {
21 namespace oneapi {
22 namespace experimental {
24 #ifdef __SYCL_DEVICE_ONLY__
25  return sub_group();
26 #else
27  throw runtime_error("Sub-groups are not supported on host device.",
29 #endif
30 }
31 } // namespace experimental
32 } // namespace oneapi
33 } // namespace ext
34 } // namespace sycl
35 } // __SYCL_INLINE_NAMESPACE(cl)
cl::sycl::ext::oneapi::experimental::this_sub_group
sub_group this_sub_group()
Definition: sub_group.hpp:23
group.hpp
cl
We provide new interfaces for matrix muliply in this patch:
Definition: access.hpp:13
cl::sycl::ext::oneapi::sub_group
Definition: sub_group.hpp:108
sub_group.hpp
PI_INVALID_DEVICE
@ PI_INVALID_DEVICE
Definition: pi.h:91
__SYCL_INLINE_NAMESPACE
#define __SYCL_INLINE_NAMESPACE(X)
Definition: defines_elementary.hpp:12