Skip to content

Commit 4ab1e4b

Browse files
[SYCL] Drop sycl/ext/oneapi/functional.hpp include from sycl/sub_group.hpp (#13760)
Not needed anymore after deprecated shuffles/collectives were removed.
1 parent 7b3f215 commit 4ab1e4b

File tree

19 files changed

+39
-40
lines changed

19 files changed

+39
-40
lines changed

sycl/include/sycl/detail/group_sort_impl.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212

1313
#ifdef __SYCL_DEVICE_ONLY__
1414

15+
#include <climits>
16+
1517
#include <sycl/builtins.hpp>
1618
#include <sycl/group_algorithm.hpp>
1719
#include <sycl/group_barrier.hpp>

sycl/include/sycl/detail/spirv.hpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@ GetMultiPtrDecoratedAs(multi_ptr<FromT, Space, IsDecorated> MPtr) {
5252
MPtr.get_decorated());
5353
}
5454

55+
template <typename NonUniformGroup>
56+
inline uint32_t IdToMaskPosition(NonUniformGroup Group, uint32_t Id);
57+
5558
namespace spirv {
5659

5760
template <typename Group>

sycl/include/sycl/ext/oneapi/experimental/ballot_group.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99
#pragma once
1010

1111
#include <sycl/aspects.hpp>
12-
#include <sycl/detail/pi.h> // for PI_ERROR_INVALID_DEVICE
12+
#include <sycl/detail/pi.h> // for PI_ERROR_INVALID_DEVICE
13+
#include <sycl/detail/spirv.hpp>
1314
#include <sycl/detail/type_traits.hpp> // for is_group, is_user_cons...
1415
#include <sycl/exception.hpp> // for runtime_error
1516
#include <sycl/ext/oneapi/experimental/non_uniform_groups.hpp> // for GetMask

sycl/include/sycl/ext/oneapi/experimental/fixed_size_group.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
#include <sycl/aspects.hpp>
1212
#include <sycl/detail/pi.h> // for PI_ERROR_INVALID_DEVICE
13+
#include <sycl/detail/spirv.hpp>
1314
#include <sycl/detail/type_traits.hpp> // for is_fixed_size_group, is_group
1415
#include <sycl/exception.hpp> // for runtime_error
1516
#include <sycl/ext/oneapi/experimental/non_uniform_groups.hpp>

sycl/include/sycl/ext/oneapi/experimental/opportunistic_group.hpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
#include <sycl/aspects.hpp>
1212
#include <sycl/detail/pi.h> // for PI_ERROR_INVALID_DEVICE
13+
#include <sycl/detail/spirv.hpp>
1314
#include <sycl/detail/type_traits.hpp> // for is_group, is_user_cons...
1415
#include <sycl/exception.hpp> // for runtime_error
1516
#include <sycl/ext/oneapi/experimental/non_uniform_groups.hpp>
@@ -20,6 +21,10 @@
2021
#include <sycl/range.hpp> // for range
2122
#include <sycl/sub_group.hpp>
2223

24+
#ifdef __SYCL_DEVICE_ONLY__
25+
#include <sycl/ext/oneapi/functional.hpp>
26+
#endif
27+
2328
#include <stdint.h> // for uint32_t
2429
#include <type_traits> // for true_type
2530

sycl/include/sycl/ext/oneapi/experimental/root_group.hpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,18 @@
88

99
#pragma once
1010

11+
#include <sycl/detail/spirv.hpp>
1112
#include <sycl/ext/oneapi/experimental/use_root_sync_prop.hpp>
1213
#include <sycl/ext/oneapi/free_function_queries.hpp>
1314
#include <sycl/group.hpp>
1415
#include <sycl/memory_enums.hpp>
1516
#include <sycl/nd_item.hpp>
1617
#include <sycl/sub_group.hpp>
1718

19+
#ifdef __SYCL_DEVICE_ONLY__
20+
#include <sycl/ext/oneapi/functional.hpp>
21+
#endif
22+
1823
namespace sycl {
1924
inline namespace _V1 {
2025
namespace ext::oneapi::experimental {

sycl/include/sycl/ext/oneapi/experimental/tangle_group.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
#include <sycl/aspects.hpp>
1212
#include <sycl/detail/pi.h> // for PI_ERROR_INVALID_DEVICE
13+
#include <sycl/detail/spirv.hpp>
1314
#include <sycl/detail/type_traits.hpp> // for is_group, is_user_cons...
1415
#include <sycl/exception.hpp> // for runtime_error
1516
#include <sycl/ext/oneapi/experimental/non_uniform_groups.hpp>

sycl/include/sycl/ext/oneapi/sub_group_mask.hpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,3 +359,11 @@ group_ballot(Group g, bool predicate) {
359359
} // namespace ext::oneapi
360360
} // namespace _V1
361361
} // namespace sycl
362+
363+
// We have a cyclic dependency with
364+
// sub_group_mask.hpp
365+
// detail/spirv.hpp
366+
// non_uniform_groups.hpp
367+
// "Break" it by including this at the end (instead of beginning). Ideally, we
368+
// should refactor this somehow...
369+
#include <sycl/detail/spirv.hpp>

sycl/include/sycl/group_algorithm.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
#include <sycl/ext/oneapi/functional.hpp>
2929
#if defined(__NVPTX__)
3030
#include <sycl/ext/oneapi/experimental/cuda/non_uniform_algorithms.hpp>
31+
#include <sycl/ext/oneapi/experimental/non_uniform_groups.hpp>
3132
#endif
3233
#endif
3334

sycl/include/sycl/sub_group.hpp

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,6 @@
1919
#include <sycl/multi_ptr.hpp> // for multi_ptr
2020
#include <sycl/range.hpp> // for range
2121

22-
#ifdef __SYCL_DEVICE_ONLY__
23-
#include <sycl/ext/oneapi/functional.hpp>
24-
#endif
25-
2622
#include <stdint.h> // for uint32_t
2723
#include <tuple> // for _Swallow_assign, ignore
2824
#include <type_traits> // for enable_if_t, remove_cv_t
@@ -239,7 +235,7 @@ struct sub_group {
239235
if (g)
240236
return load(g);
241237

242-
assert(!"Sub-group load() is supported for local or global pointers only.");
238+
// Sub-group load() is supported for local or global pointers only.
243239
return {};
244240
#endif // __NVPTX__ || __AMDGCN__
245241
}
@@ -421,8 +417,7 @@ struct sub_group {
421417
return;
422418
}
423419

424-
assert(
425-
!"Sub-group store() is supported for local or global pointers only.");
420+
// Sub-group store() is supported for local or global pointers only.
426421
return;
427422
#endif // __NVPTX__ || __AMDGCN__
428423
}

0 commit comments

Comments
 (0)