Skip to content

Commit 7e16ea8

Browse files
AndreiZibrovAndrei ZibrovPennycookuditagarwal97
authored
[SYCL] Align Non-Uniform Groups with PR#14604 (#19238)
This PR implements the non-uniform groups API redesign proposed in [PR 14604](#14604) 1. Removed redundant `_group` suffix from class names 2. Used more descriptive function names that clearly indicate the partitioning behaviour 3. United similar functionality to reduce cognitive overhead * fixed_size_group → chunk * tangle_group → tangle * ballot_group → fragment * opportunistic_group → merged into fragment * get_ballot_group() → binary_partition() * get_fixed_size_group<N>() → chunked_partition<N>() * get_tangle_group() → entangle() --------- Signed-off-by: Larsen, Steffen <[email protected]> Co-authored-by: Andrei Zibrov <[email protected]> Co-authored-by: John Pennycook <[email protected]> Co-authored-by: Udit Kumar Agarwal <[email protected]>
1 parent c5e4215 commit 7e16ea8

31 files changed

+1296
-1217
lines changed

llvm/include/llvm/SYCLLowerIR/DeviceConfigFile.td

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,9 @@ def AspectExt_oneapi_unique_addressing_per_dim : Aspect<"ext_oneapi_unique_addre
7070
def AspectExt_oneapi_bindless_images_sample_1d_usm : Aspect<"ext_oneapi_bindless_images_sample_1d_usm">;
7171
def AspectExt_oneapi_bindless_images_sample_2d_usm : Aspect<"ext_oneapi_bindless_images_sample_2d_usm">;
7272
def AspectExt_intel_esimd : Aspect<"ext_intel_esimd">;
73-
def AspectExt_oneapi_ballot_group : Aspect<"ext_oneapi_ballot_group">;
74-
def AspectExt_oneapi_fixed_size_group : Aspect<"ext_oneapi_fixed_size_group">;
75-
def AspectExt_oneapi_opportunistic_group : Aspect<"ext_oneapi_opportunistic_group">;
76-
def AspectExt_oneapi_tangle_group : Aspect<"ext_oneapi_tangle_group">;
73+
def AspectExt_oneapi_fragment : Aspect<"ext_oneapi_fragment">;
74+
def AspectExt_oneapi_chunk : Aspect<"ext_oneapi_chunk">;
75+
def AspectExt_oneapi_tangle : Aspect<"ext_oneapi_tangle">;
7776
def AspectExt_intel_matrix : Aspect<"ext_intel_matrix">;
7877
def AspectExt_oneapi_is_composite : Aspect<"ext_oneapi_is_composite">;
7978
def AspectExt_oneapi_is_component : Aspect<"ext_oneapi_is_component">;
@@ -155,8 +154,8 @@ def : TargetInfo<"__TestAspectList",
155154
AspectExt_oneapi_bindless_sampled_image_fetch_3d,
156155
AspectExt_oneapi_bindless_images_gather,
157156
AspectExt_intel_esimd,
158-
AspectExt_oneapi_ballot_group, AspectExt_oneapi_fixed_size_group, AspectExt_oneapi_opportunistic_group,
159-
AspectExt_oneapi_tangle_group, AspectExt_intel_matrix, AspectExt_oneapi_is_composite, AspectExt_oneapi_is_component,
157+
AspectExt_oneapi_fragment, AspectExt_oneapi_chunk,
158+
AspectExt_oneapi_tangle, AspectExt_intel_matrix, AspectExt_oneapi_is_composite, AspectExt_oneapi_is_component,
160159
AspectExt_oneapi_graph, AspectExt_oneapi_limited_graph, AspectExt_oneapi_private_alloca,
161160
AspectExt_oneapi_queue_profiling_tag, AspectExt_oneapi_virtual_mem, AspectExt_oneapi_cuda_cluster_group,
162161
AspectExt_intel_fpga_task_sequence,
@@ -181,9 +180,9 @@ def : TargetInfo<"__TestDeprecatedAspectList",
181180
defvar IntelCpuAspects = [
182181
AspectCpu, AspectFp16, AspectFp64, AspectQueue_profiling, AspectAtomic64,
183182
AspectExt_oneapi_srgb, AspectExt_oneapi_native_assert,
184-
AspectExt_intel_legacy_image, AspectExt_oneapi_ballot_group,
185-
AspectExt_oneapi_fixed_size_group, AspectExt_oneapi_opportunistic_group,
186-
AspectExt_oneapi_tangle_group, AspectExt_oneapi_private_alloca,
183+
AspectExt_intel_legacy_image, AspectExt_oneapi_fragment,
184+
AspectExt_oneapi_chunk,
185+
AspectExt_oneapi_tangle, AspectExt_oneapi_private_alloca,
187186
AspectOnline_compiler, AspectOnline_linker, AspectExt_intel_gpu_slices,
188187
AspectExt_intel_gpu_subslices_per_slice, AspectExt_intel_gpu_eu_count_per_subslice,
189188
AspectExt_intel_gpu_hw_threads_per_eu, AspectExt_intel_device_id,
@@ -207,9 +206,9 @@ defvar Fp16Fp64Atomic64 = [AspectFp16, AspectFp64, AspectAtomic64];
207206
defvar Fp16Atomic64 = [AspectFp16, AspectAtomic64];
208207
defvar Sg8_16_32 = [8, 16, 32];
209208
defvar Sg16_32 = [16, 32];
210-
defvar IntelGPUBaseAspects = [AspectExt_intel_esimd, AspectExt_oneapi_ballot_group,
211-
AspectExt_oneapi_fixed_size_group, AspectExt_oneapi_opportunistic_group,
212-
AspectExt_oneapi_tangle_group];
209+
defvar IntelGPUBaseAspects = [AspectExt_intel_esimd, AspectExt_oneapi_fragment,
210+
AspectExt_oneapi_chunk,
211+
AspectExt_oneapi_tangle];
213212
class IntelTargetInfo<string Name, list<Aspect> Aspects, list<int> subGroupSizesList>
214213
: TargetInfo<Name, IntelGPUBaseAspects # Aspects, subGroupSizesList>;
215214
// Note: only the "canonical" target names are listed here - see
@@ -283,8 +282,8 @@ defvar CudaSM90USMAspects = [AspectUsm_system_allocations, AspectUsm_atomic_host
283282
defvar CudaMinAspects = !listconcat(CudaMinUSMAspects, [AspectGpu, AspectFp64, AspectOnline_compiler, AspectOnline_linker,
284283
AspectQueue_profiling, AspectExt_intel_pci_address, AspectExt_intel_memory_bus_width,
285284
AspectExt_intel_device_info_uuid, AspectExt_oneapi_native_assert, AspectExt_intel_free_memory, AspectExt_intel_device_id,
286-
AspectExt_intel_memory_clock_rate, AspectExt_oneapi_ballot_group, AspectExt_oneapi_fixed_size_group,
287-
AspectExt_oneapi_opportunistic_group, AspectExt_oneapi_graph, AspectExt_oneapi_limited_graph]);
285+
AspectExt_intel_memory_clock_rate, AspectExt_oneapi_fragment, AspectExt_oneapi_chunk,
286+
AspectExt_oneapi_graph, AspectExt_oneapi_limited_graph]);
288287
// Bindless images aspects are partially supported on CUDA and disabled by default at the moment.
289288
defvar CudaBindlessImagesAspects = [AspectExt_oneapi_bindless_images, AspectExt_oneapi_bindless_images_shared_usm,
290289
AspectExt_oneapi_bindless_images_1d_usm, AspectExt_oneapi_bindless_images_2d_usm, AspectExt_oneapi_external_memory_import,

0 commit comments

Comments
 (0)