subgroups / subgroup_functions_core PASS

Test metadata

Name subgroup_functions_core
Category subgroups
Suite Khronos OpenCL CTS
Suite version 80a4a833
Executable path /test_conformance/subgroups/bin/test_subgroups
Arguments subgroup_functions_core

Run metadata

Parent job Job 113
Revision 2ca51d43f10cf99… / phab-diff-500842: [SPIRV] fix several issues in builds with expe…
Driver version NEO 22.34.24023; IGC 1.0.11702.1
Date run 03/01/2023
Duration 0 minutes
Status PASS

Runner output

Stdout from the runner of the corresponding OpenCL CTS test:

Initializing random seed to 0.
Requesting Default device based on command line for platform index 0 and device index 0
Compute Device Name = Intel(R) UHD Graphics 630 [0x3e98], Compute Device Vendor = Intel(R) Corporation, Compute Device Version = OpenCL 3.0 NEO , CL C Version = OpenCL C 1.2
Device latest conformance version passed: v2022-04-22-00
Supports single precision denormals: YES
sizeof( void*) = 8 (host)
sizeof( void*) = 8 (device)
subgroup_functions_core...
sub_group_any...
sub_group_any... passed
sub_group_all...
sub_group_all... passed
sub_group_broadcast(int)...
sub_group_broadcast(int)... passed
sub_group_reduce_add(int)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_reduce_add(int)... passed
sub_group_reduce_max(int)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_reduce_max(int)... passed
sub_group_reduce_min(int)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_reduce_min(int)... passed
sub_group_scan_inclusive_add(int)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_inclusive_add(int)... passed
sub_group_scan_inclusive_max(int)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_inclusive_max(int)... passed
sub_group_scan_inclusive_min(int)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_inclusive_min(int)... passed
sub_group_scan_exclusive_add(int)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_exclusive_add(int)... passed
sub_group_scan_exclusive_max(int)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_exclusive_max(int)... passed
sub_group_scan_exclusive_min(int)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_exclusive_min(int)... passed
sub_group_broadcast(uint)...
sub_group_broadcast(uint)... passed
sub_group_reduce_add(uint)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_reduce_add(uint)... passed
sub_group_reduce_max(uint)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_reduce_max(uint)... passed
sub_group_reduce_min(uint)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_reduce_min(uint)... passed
sub_group_scan_inclusive_add(uint)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_inclusive_add(uint)... passed
sub_group_scan_inclusive_max(uint)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_inclusive_max(uint)... passed
sub_group_scan_inclusive_min(uint)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_inclusive_min(uint)... passed
sub_group_scan_exclusive_add(uint)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_exclusive_add(uint)... passed
sub_group_scan_exclusive_max(uint)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_exclusive_max(uint)... passed
sub_group_scan_exclusive_min(uint)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_exclusive_min(uint)... passed
sub_group_broadcast(long)...
sub_group_broadcast(long)... passed
sub_group_reduce_add(long)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_reduce_add(long)... passed
sub_group_reduce_max(long)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_reduce_max(long)... passed
sub_group_reduce_min(long)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_reduce_min(long)... passed
sub_group_scan_inclusive_add(long)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_inclusive_add(long)... passed
sub_group_scan_inclusive_max(long)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_inclusive_max(long)... passed
sub_group_scan_inclusive_min(long)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_inclusive_min(long)... passed
sub_group_scan_exclusive_add(long)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_exclusive_add(long)... passed
sub_group_scan_exclusive_max(long)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_exclusive_max(long)... passed
sub_group_scan_exclusive_min(long)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_exclusive_min(long)... passed
sub_group_broadcast(ulong)...
sub_group_broadcast(ulong)... passed
sub_group_reduce_add(ulong)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_reduce_add(ulong)... passed
sub_group_reduce_max(ulong)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_reduce_max(ulong)... passed
sub_group_reduce_min(ulong)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_reduce_min(ulong)... passed
sub_group_scan_inclusive_add(ulong)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_inclusive_add(ulong)... passed
sub_group_scan_inclusive_max(ulong)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_inclusive_max(ulong)... passed
sub_group_scan_inclusive_min(ulong)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_inclusive_min(ulong)... passed
sub_group_scan_exclusive_add(ulong)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_exclusive_add(ulong)... passed
sub_group_scan_exclusive_max(ulong)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_exclusive_max(ulong)... passed
sub_group_scan_exclusive_min(ulong)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_exclusive_min(ulong)... passed
sub_group_broadcast(float)...
sub_group_broadcast(float)... passed
sub_group_reduce_add(float)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_reduce_add(float)... passed
sub_group_reduce_max(float)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_reduce_max(float)... passed
sub_group_reduce_min(float)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_reduce_min(float)... passed
sub_group_scan_inclusive_add(float)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_inclusive_add(float)... passed
sub_group_scan_inclusive_max(float)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_inclusive_max(float)... passed
sub_group_scan_inclusive_min(float)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_inclusive_min(float)... passed
sub_group_scan_exclusive_add(float)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_exclusive_add(float)... passed
sub_group_scan_exclusive_max(float)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_exclusive_max(float)... passed
sub_group_scan_exclusive_min(float)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_exclusive_min(float)... passed
sub_group_broadcast(double)...
sub_group_broadcast(double)... passed
sub_group_reduce_add(double)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_reduce_add(double)... passed
sub_group_reduce_max(double)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_reduce_max(double)... passed
sub_group_reduce_min(double)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_reduce_min(double)... passed
sub_group_scan_inclusive_add(double)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_inclusive_add(double)... passed
sub_group_scan_inclusive_max(double)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_inclusive_max(double)... passed
sub_group_scan_inclusive_min(double)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_inclusive_min(double)... passed
sub_group_scan_exclusive_add(double)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_exclusive_add(double)... passed
sub_group_scan_exclusive_max(double)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_exclusive_max(double)... passed
sub_group_scan_exclusive_min(double)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_exclusive_min(double)... passed
sub_group_broadcast(half)...
sub_group_broadcast(half)... passed
sub_group_reduce_add(half)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_reduce_add(half)... passed
sub_group_reduce_max(half)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_reduce_max(half)... passed
sub_group_reduce_min(half)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_reduce_min(half)... passed
sub_group_scan_inclusive_add(half)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_inclusive_add(half)... passed
sub_group_scan_inclusive_max(half)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_inclusive_max(half)... passed
sub_group_scan_inclusive_min(half)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_inclusive_min(half)... passed
sub_group_scan_exclusive_add(half)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_exclusive_add(half)... passed
sub_group_scan_exclusive_max(half)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_exclusive_max(half)... passed
sub_group_scan_exclusive_min(half)...
test params: global size = 2000 local size = 200 subgroups size = 32 work item mask = 0x0
sub_group_scan_exclusive_min(half)... passed
subgroup_functions_core passed
PASSED sub-test.
PASSED test.

Stderr from the runner of the corresponding OpenCL CTS test:

Runner dumps

The files below were generated by the Intel Graphics Compiler after setting the IGC_ShaderDumpEnable=1 variable. OCL_asmX_before_spirv_backend.spv is the input binary SPIR-V generated by the IGC's OpenCL frontend, from which the SPIRV-LLVM-Translator generates OCL_asmX_before_spirv_backend.ll module which is passed to the SPIR-V backend. The backend outputs OCL_asmX_after_spirv_backend.spv SPIR-V binary which returns to IGC to be translated to LLVM module OCL_asmX_after_spirv_backend.ll for further compilation.