Skip to content

OpenCL CTS

doe300 edited this page Feb 9, 2022 · 13 revisions

Lists all OpenCL CTS test-cases and their status of support. Entries without any status are still untested.

Computeinfo (computeinfo/test_computeinfo)

Test name Status Reason
computeinfo PASSED
extended_versioning PASSED
device_uuid skipped
conformance_version skipped Returns dummy date
pci_bus_info skipped Extension not implemented

Basic (basic/test_basic)

Run with work-size of 8

Test name Status Reason
hostptr PASSED
fpmath_float PASSED
fpmath_float2 PASSED
fpmath_float4 PASSED
intmath_int PASSED
intmath_int2 PASSED
intmath_int4 PASSED
intmath_long skipped
intmath_long2 skipped
intmath_long4 skipped
hiloeo PASSED skipped long tests
if PASSED
sizeof PASSED skipped long, image, sampler
loop PASSED
pointer_cast PASSED
local_arg_def PASSED
local_kernel_def PASSED
local_kernel_scope PASSED
constant PASSED
constant_source PASSED
readimage skipped
readimage_int16 skipped
readimage_fp32 skipped
writeimage skipped
writeimage_int16 skipped
writeimage_fp32 skipped
mri_one skipped
mri_multiple skipped
image_r8 skipped
barrier PASSED
wg_barrier PASSED
int2float PASSED
float2int PASSED
imagereadwrite skipped
imagereadwrite3d skipped
readimage3d skipped
readimage3d_int16 skipped
readimage3d_fp32 skipped
bufferreadwriterect PASSED
arrayreadwrite PASSED
arraycopy PASSED
imagearraycopy skipped
imagearraycopy3d skipped
imagecopy skipped
imagecopy3d skipped
imagerandomcopy skipped
arrayimagecopy skipped
arrayimagecopy3d skipped
imagenpot skipped
vload_global PASSED
vload_local PASSED
vload_constant PASSED
vload_private PASSED
vstore_global PASSED
vstore_local PASSED
vstore_private PASSED
createkernelsinprogram PASSED
imagedim_pow2 skipped
imagedim_non_pow2 skipped
image_param skipped
image_multipass_integer_coord skipped
image_multipass_float_coord skipped
explicit_s2v_char PASSED
explicit_s2v_uchar PASSED
explicit_s2v_short PASSED
explicit_s2v_ushort PASSED
explicit_s2v_int PASSED
explicit_s2v_uint PASSED
explicit_s2v_long skipped
explicit_s2v_ulong skipped
explicit_s2v_float PASSED
explicit_s2v_double skipped
enqueue_map_buffer PASSED
enqueue_map_image skipped
work_item_functions PASSED
astype PASSED
async_copy_global_to_local PASSED
async_copy_local_to_global PASSED
async_strided_copy_global_to_local PASSED
async_strided_copy_local_to_global PASSED
prefetch PASSED
kernel_call_kernel_function PASSED
host_numeric_constants PASSED
kernel_numeric_constants PASSED
kernel_limit_constants PASSED
kernel_preprocessor_macros PASSED
parameter_types PASSED
vector_creation PASSED 8-element vectors take a lot longer than 1,2 ,3 or 4 to compile (both optimizer and code-generation)
vector_swizzle PASSED
vec_type_hint PASSED
kernel_memory_alignment_local PASSED
kernel_memory_alignment_global PASSED
kernel_memory_alignment_constant PASSED
kernel_memory_alignment_private PASSED
progvar_prog_scope_misc skipped
progvar_prog_scope_uninit skipped
progvar_prog_scope_init skipped
progvar_func_scope skipped
global_work_offsets PASSED
get_global_offset PASSED
global_linear_id skipped Requires OpenCL C 3.0
local_linear_id skipped Requires OpenCL C 3.0
enqueued_local_size skipped Requires OpenCL C 3.0
simple_read_image_pitch skipped
simple_write_image_pitch skipped
get_linear_ids skipped Requires OpenCL C 3.0
rw_image_access_qualifier skipped

API (api/test_api)

Run with work-size of 8

Test name Status Reason
get_platform_info PASSED
get_sampler_info skipped
get_command_queue_info skipped Requires OpenCL C 3.0
get_command_queue_info_compatibility PASSED
get_context_info PASSED
get_device_info PASSED
enqueue_task PASSED
binary_get PASSED
binary_create PASSED
kernel_required_group_size PASSED
release_kernel_order PASSED
release_during_execute PASSED
load_single_kernel PASSED
load_two_kernels PASSED
load_two_kernels_in_one PASSED
load_two_kernels_manually PASSED
get_program_info_kernel_names PASSED
get_kernel_arg_info PASSED
create_kernels_in_program PASSED
get_kernel_info PASSED
kernel_private_memory_size PASSED
execute_kernel_local_sizes PASSED
set_kernel_arg_by_index PASSED
set_kernel_arg_constant PASSED
set_kernel_arg_struct_array PASSED
kernel_global_constant PASSED
kernel_attributes PASSED
min_max_thread_dimensions PASSED
min_max_work_items_sizes PASSED
min_max_work_group_size PASSED
min_max_read_image_args skipped
min_max_write_image_args skipped
min_max_mem_alloc_size PASSED
min_max_image_2d_width skipped
min_max_image_2d_height skipped
min_max_image_3d_width skipped
min_max_image_3d_height skipped
min_max_image_3d_depth skipped
min_max_image_array_size skipped
min_max_image_buffer_size skipped
min_max_parameter_size PASSED
min_max_samplers skipped
min_max_constant_buffer_size PASSED
min_max_constant_args PASSED
min_max_compute_units PASSED
min_max_address_bits PASSED
min_max_single_fp_config PASSED
min_max_double_fp_config PASSED
min_max_local_mem_size FAILED CL_OUT_OF_RESOURCES
min_max_kernel_preferred_work_group_size_multiple PASSED
min_max_execution_capabilities PASSED
min_max_queue_properties PASSED
min_max_device_version PASSED
min_max_language_version PASSED
kernel_arg_changes PASSED
kernel_arg_multi_setup_random PASSED
native_kernel PASSED
create_context_from_type PASSED
platform_extensions PASSED
get_platform_ids PASSED
bool_type PASSED
repeated_setup_cleanup PASSED
retain_queue_single PASSED
retain_queue_multiple PASSED
retain_mem_object_single PASSED
retain_mem_object_multiple PASSED
retain_mem_object_set_kernel_arg PASSED
min_data_type_align_size_alignment PASSED
context_destructor_callback skipped Requires OpenCL C 3.0
mem_object_destructor_callback PASSED
null_buffer_arg PASSED
get_buffer_info PASSED
get_image2d_info skipped
get_image3d_info skipped
get_image1d_info skipped
get_image1d_array_info skipped
get_image2d_array_info skipped
queue_flush_on_release PASSED
queue_hint PASSED
queue_properties PASSED
sub_group_dispatch skipped
clone_kernel skipped Requires OpenCL C 3.0
zero_sized_enqueue skipped Requires OpenCL C 3.0
buffer_properties_queries skipped Requires OpenCL C 3.0
image_properties_queries skipped
queue_properties_queries skipped Requires OpenCL C 3.0
pipe_properties_queries skipped
consistency_svm skipped Requires OpenCL C 3.0
consistency_memory_model skipped Requires OpenCL C 3.0
consistency_device_enqueue skipped Requires OpenCL C 3.0
consistency_pipes skipped Requires OpenCL C 3.0
consistency_progvar skipped Requires OpenCL C 3.0
consistency_non_uniform_work_group skipped Requires OpenCL C 3.0
consistency_read_write_images skipped Requires OpenCL C 3.0
consistency_2d_image_from_buffer skipped Requires OpenCL C 3.0
consistency_depth_images skipped Requires OpenCL C 3.0
consistency_device_and_host_timer skipped Requires OpenCL C 3.0
consistency_il_programs skipped Requires OpenCL C 3.0
consistency_subgroups skipped Requires OpenCL C 3.0
consistency_prog_ctor_dtor skipped Requires OpenCL C 3.0
consistency_3d_image_writes skipped Requires OpenCL C 3.0
min_image_formats skipped
negative_get_platform_info PASSED
negative_get_platform_ids PASSED

Compiler (compiler/test_compiler)

Test name Status Reason
load_program_source PASSED
load_multistring_source PASSED
load_two_kernel_source PASSED
load_null_terminated_source PASSED
load_null_terminated_multi_line_source PASSED
load_null_terminated_partial_multi_line_source PASSED
load_discreet_length_source PASSED
get_program_source PASSED
get_program_build_info PASSED
get_program_info PASSED
large_compile PASSED
async_build PASSED
options_build_optimizations PASSED
options_build_macro PASSED
options_build_macro_existence PASSED
options_include_directory PASSED
options_denorm_cache PASSED
preprocessor_define_udef PASSED
preprocessor_include PASSED
preprocessor_line_error PASSED
preprocessor_pragma PASSED
opencl_c_versions PASSED
compiler_defines_for_extensions PASSED
image_macro PASSED
simple_compile_only PASSED
simple_static_compile_only PASSED
simple_extern_compile_only PASSED
simple_compile_with_callback PASSED
simple_embedded_header_compile PASSED
simple_link_only PASSED
two_file_regular_variable_access PASSED
two_file_regular_struct_access PASSED
two_file_regular_function_access PASSED
simple_link_with_callback PASSED
simple_embedded_header_link PASSED
execute_after_simple_compile_and_link PASSED
execute_after_simple_compile_and_link_no_device_info PASSED
execute_after_simple_compile_and_link_with_defines PASSED
execute_after_simple_compile_and_link_with_callbacks PASSED
execute_after_simple_library_with_link PASSED
execute_after_two_file_link PASSED
execute_after_embedded_header_link PASSED
execute_after_included_header_link PASSED
execute_after_serialize_reload_object PASSED
execute_after_serialize_reload_library PASSED
simple_library_only PASSED
simple_library_with_callback PASSED
simple_library_with_link PASSED
two_file_link PASSED
multi_file_libraries PASSED
multiple_files PASSED
multiple_libraries PASSED
multiple_files_multiple_libraries PASSED
multiple_embedded_headers FAILED Unable to compile a simple program! (CL_COMPILE_PROGRAM_FAILURE), uses include path with subdirectories
program_binary_type FAILED serialized CL_PROGRAM_BINARY_TYPE_LIBRARY is not deserialized as such
compile_and_link_status_options_log PASSED
pragma_unroll skipped Requires OpenCL C 3.0 support
features_macro skipped Requires OpenCL C 3.0 support
unload_valid PASSED
unload_repeated FAILED "clLinkProgram() == -17", due to CTS code using SPIR-V binary and no SPIR-V VC4CLStdLib neither prcompiled module llvm-spirv executable present on CI system, thus cannot link (SPIR-V) in VC4CLStdLib into binary (Precompiler.cpp#linkSourceCode(...))
unload_compile_unload_link FAILED "clLinkProgram() == -17"
unload_build_unload_create_kernel FAILED "clLinkProgram() == -17"
unload_link_different PASSED
unload_build_threaded FAILED "clLinkProgram() == -17"
unload_build_info PASSED
unload_program_binaries PASSED

Common Functions (commonfns/test_commonfns)

Run with work-size of 8

Test name Status Reason
clamp PASSED
degrees PASSED issues messages for mismatches, even if < the limit of 2 ULP, but still passes
fmax PASSED
fmaxf PASSED
fmin PASSED
fminf PASSED
max PASSED
maxf PASSED
min PASSED
minf PASSED
mix PASSED
radians PASSED issues messages for mismatches, even if < the limit of 2 ULP, but still passes
step PASSED
stepf PASSED
smoothstep PASSED
smoothstepf PASSED
sign PASSED

Geometric Functions (geometrics/test_geometrics)

Run with work-size of 8

Test name Status Reason
geom_cross PASSED
geom_dot PASSED
geom_distance PASSED
geom_fast_distance PASSED
geom_length PASSED
geom_fast_length PASSED
geom_normalize PASSED
geom_fast_normalize PASSED

Relationals (relationals/test_relationals)

Run with work-size of 8

Test name Status Reason
relational_any PASSED
relational_all PASSED
relational_bitselect PASSED
relational_select_signed PASSED
relational_select_unsigned PASSED
relational_isequal PASSED
relational_isnotequal PASSED
relational_isgreater PASSED
relational_isgreaterequal PASSED
relational_isless PASSED
relational_islessequal PASSED
relational_islessgreater PASSED
shuffle_copy PASSED
shuffle_function_call PASSED
shuffle_array_cast PASSED takes some time
shuffle_built_in PASSED
shuffle_built_in_dual_input PASSED

Thread Dimensions (thread_dimensions/test_thread_dimensions)

Run with work-size of 8 NOTE: Skips some tests for not finding "cl_khr_global_int32_base_atomics" device extension, but it is reported and correctly found by other tests ...

Test name Status Reason
quick_1d_explicit_local FAILED runs a lot of work-items
quick_2d_explicit_local FAILED
quick_3d_explicit_local FAILED
quick_1d_implicit_local PASSED
quick_2d_implicit_local FAILED
quick_3d_implicit_local FAILED
full_1d_explicit_local
full_2d_explicit_local
full_3d_explicit_local
full_1d_implicit_local
full_2d_implicit_local
full_3d_implicit_local

Atomics (atomics/test_atomics)

Test name Status Reason
atomic_add PASSED
atomic_sub PASSED
atomic_xchg PASSED
atomic_min PASSED
atomic_max PASSED
atomic_inc PASSED
atomic_dec PASSED
atomic_cmpxchg PASSED
atomic_and PASSED
atomic_or PASSED
atomic_xor PASSED
atomic_add_index PASSED
atomic_add_index_bin PASSED

C11 Atomics (c11_atomics/test_c11_atomics)

SKIPPED, OpenCL 2.0 feature

Profiling (profiling/test_profiling)

Test name Status Reason
read_array_int PASSED
read_array_uint PASSED
read_array_long skipped
read_array_ulong skipped
read_array_short PASSED
read_array_ushort PASSED
read_array_float PASSED
read_array_char PASSED
read_array_uchar PASSED
read_array_struct PASSED
write_array_int PASSED
write_array_uint PASSED
write_array_long skipped
write_array_ulong skipped
write_array_short PASSED
write_array_ushort PASSED
write_array_float PASSED
write_array_char PASSED
write_array_uchar PASSED
write_array_struct PASSED
read_image_float skipped
read_image_int skipped
read_image_uint skipped
write_image_float skipped
write_image_char skipped
write_image_uchar skipped
copy_array PASSED
copy_partial_array PASSED
copy_image skipped
copy_array_to_image skipped
execute skipped

Events (events/test_events)

Test name Status Reason
event_get_execute_status PASSED
event_get_write_array_status PASSED
event_get_read_array_status PASSED
event_get_info PASSED
event_wait_for_execute PASSED
event_wait_for_array PASSED
event_flush PASSED
event_finish_execute PASSED
event_finish_array PASSED
event_release_before_done PASSED
event_enqueue_marker PASSED
event_enqueue_marker_with_event_list PASSED
event_enqueue_barrier_with_event_list PASSED
out_of_order_event_waitlist_single_queue skipped
out_of_order_event_waitlist_multi_queue skipped
out_of_order_event_waitlist_multi_queue_multi_device skipped
out_of_order_event_enqueue_wait_for_events_single_queue skipped
out_of_order_event_enqueue_wait_for_events_multi_queue skipped
out_of_order_event_enqueue_wait_for_events_multi_queue_multi_device skipped
out_of_order_event_enqueue_marker_single_queue skipped
out_of_order_event_enqueue_marker_multi_queue skipped
out_of_order_event_enqueue_marker_multi_queue_multi_device skipped
out_of_order_event_enqueue_barrier_single_queue skipped
waitlists skipped
userevents FLAKY
callbacks PASSED
callbacks_simultaneous PASSED
userevents_multithreaded PASSED

Allocations (allocations/test_allocations)

Test name Status Reason
single 5 all PASSED
multiple 5 all PASSED

Printf (printf/test_printf)

Not supported

Buffers (buffers/test_buffers)

Run with work-size of 8

Test name Status Reason
buffer_read_async_int PASSED
buffer_read_async_uint PASSED
buffer_read_async_long skipped
buffer_read_async_ulong skipped
buffer_read_async_short PASSED
buffer_read_async_ushort PASSED
buffer_read_async_char PASSED
buffer_read_async_uchar PASSED
buffer_read_async_float PASSED
buffer_read_array_barrier_int PASSED
buffer_read_array_barrier_uint PASSED
buffer_read_array_barrier_long skipped
buffer_read_array_barrier_ulong skipped
buffer_read_array_barrier_short PASSED
buffer_read_array_barrier_ushort PASSED
buffer_read_array_barrier_char PASSED
buffer_read_array_barrier_uchar PASSED
buffer_read_array_barrier_float PASSED
buffer_read_int PASSED
buffer_read_uint PASSED
buffer_read_long skipped
buffer_read_ulong skipped
buffer_read_short PASSED
buffer_read_ushort PASSED
buffer_read_float PASSED
buffer_read_half skipped
buffer_read_char PASSED
buffer_read_uchar PASSED
buffer_read_struct PASSED
buffer_read_random_size PASSED
buffer_map_read_int PASSED
buffer_map_read_uint PASSED
buffer_map_read_long skipped
buffer_map_read_ulong skipped
buffer_map_read_short PASSED
buffer_map_read_ushort PASSED
buffer_map_read_char PASSED
buffer_map_read_uchar PASSED
buffer_map_read_float PASSED
buffer_map_read_struct PASSED
buffer_map_write_int PASSED
buffer_map_write_uint PASSED
buffer_map_write_long skipped
buffer_map_write_ulong skipped
buffer_map_write_short PASSED
buffer_map_write_ushort PASSED
buffer_map_write_char PASSED
buffer_map_write_uchar PASSED
buffer_map_write_float PASSED
buffer_map_write_struct PASSED
buffer_write_int PASSED
buffer_write_uint PASSED
buffer_write_short PASSED
buffer_write_ushort PASSED
buffer_write_char PASSED
buffer_write_uchar PASSED
buffer_write_float PASSED
buffer_write_half skipped
buffer_write_long skipped
buffer_write_ulong skipped
buffer_write_struct PASSED
buffer_write_async_int PASSED
buffer_write_async_uint PASSED
buffer_write_async_short PASSED
buffer_write_async_ushort PASSED
buffer_write_async_char PASSED
buffer_write_async_uchar PASSED
buffer_write_async_float PASSED
buffer_write_async_long skipped
buffer_write_async_ulong skipped
buffer_copy PASSED
buffer_partial_copy PASSED
mem_read_write_flags PASSED
mem_write_only_flags PASSED
mem_read_only_flags PASSED
mem_copy_host_flags PASSED
mem_alloc_ref_flags not implemented
array_info_size PASSED
sub_buffers_read_write PASSED
sub_buffers_read_write_dual_devices skipped
sub_buffers_overlapping PASSED
buffer_fill_int PASSED
buffer_fill_uint PASSED
buffer_fill_short PASSED
buffer_fill_ushort PASSED
buffer_fill_char PASSED
buffer_fill_uchar PASSED
buffer_fill_long skipped
buffer_fill_ulong skipped
buffer_fill_float PASSED
buffer_fill_struct PASSED
buffer_migrate PASSED
image_migrate skipped

Images (API Info) (images/clGetInfo/test_cl_get_info)

SKIPPED

Images (Kernel Methods) (images/kernel_image_methods/test_kernel_image_methods )

SKIPPED

Images (Kernel) (images/kernel_read_write/test_image_streams)

SKIPPED

Images (clCopyImage) (images/clCopyImage/test_cl_copy_images)

SKIPPED

Images (clReadWriteImage) (images/clReadWriteImage/test_cl_read_write_images )

SKIPPED

Images (clFillImage) (images/clFillImage/test_cl_fill_images )

SKIPPED

Images (Samplerless) (images/samplerlessReads/test_samplerless_reads )

SKIPPED

Mem (Host Flags) (mem_host_flags/test_mem_host_flags)

Test name Status Reason
test_mem_host_read_only_buffer PASSED
test_mem_host_read_only_subbuffer PASSED
test_mem_host_write_only_buffer PASSED
test_mem_host_write_only_subbuffer PASSED
test_mem_host_no_access_buffer PASSED
test_mem_host_no_access_subbuffer PASSED
test_mem_host_read_only_image SKIPPED
test_mem_host_write_only_image SKIPPED
test_mem_host_no_access_image SKIPPED

Select (select/test_select)

Selection tests (e.g. select_short_short) seem to be a very good benchmark, since they highly utilize the QPU and TMU. All tests run very long, since they test the whole range of possible values! NOTE: Completely hangs, so not even the reboot command works anymore! NOTE: This is very bad on our TMU! Since we read 3 values from position N from 3 different buffers, 2 of these values are read via the same TMU. Due to the TMU cache associativity and the fact that all buffers are 4KB aligned, the 2 reads from the positions B ALWAYS kick out the other value resulting in a cache collision on every read! If TMUs share their cache (1 TMU cache per slice), then even all 3 TMU reads collide on every access!

Test name Status Reason
select_uchar_uchar FAILED runs very very long (aborted after 45min)
select_uchar_char FAILED result, value mismatch, vector 2
select_char_uchar FAILED result, value mismatch, vector 2
select_char_char FAILED result, value mismatch, vector 3
select_ushort_ushort FAILED result, value mismatch, vector 2 at index 0
select_ushort_short FAILED result, value mismatch, vector 2
select_short_ushort FAILED result, value mismatch, vector 2
select_short_short FAILED runs a lot longer than the other tests! result value mismatch for vector 1 at index 0x36300 (and value -1)
select_uint_uint FAILED result, value mismatch, vector 3
select_uint_int FAILED result, value mismatch, vector 3
select_int_uint FAILED result, value mismatch, vector 3
select_int_int FAILED result, value mismatch, vector 3
select_float_uint
select_float_int
select_ulong_ulong
select_ulong_long
select_long_ulong
select_long_long
select_double_ulong
select_double_long

Contractions (contractions/test_contractions)

Test name Status Reason
contractions_float_0 PASSED
contractions_float_1 PASSED
contractions_float_2 PASSED
contractions_float_3 PASSED
contractions_float_4 PASSED
contractions_float_5 PASSED
contractions_float_6 PASSED
contractions_float_7 PASSED
contractions_double_0 skipped
contractions_double_1 skipped
contractions_double_2 skipped
contractions_double_3 skipped
contractions_double_4 skipped
contractions_double_5 skipped
contractions_double_6 skipped
contractions_double_7 skipped

Math (math_brute_force/test_bruteforce)

Test name Status Reason
-l (link check only) FAILED takes long/hangs in "fract" test, preventSleep not supported
-w (Wimpy mode, only check few) FAILED error allocating some array space, preventSleep not supported
(full)
acos FAILED
acosh FAILED
acospi FAILED
asin FAILED
asinh FAILED
asinpi FAILED
atan FAILED >5 ULP error at <~ -0x1.0p+2
atanh FAILED
atanpi FAILED
atan2 FAILED
atan2pi FAILED
cbrt FAILED
ceil PASSED "Wimp pass"
copysign PASSED "Wimp pass"
cos FAILED
cosh FAILED
cospi FAILED
exp FAILED "-nan ulp error at -nan (0xff800100): *-nan vs. 0x0p+0"
exp2 FAILED 512 ULP error at <~ -0x1.0p+1
exp10 FAILED
expm1 FAILED "-nan ulp error at -nan (0xff800100): *-nan vs. -0x1p+0"
fabs PASSED "Wimp pass"
fdim PASSED "Wimp pass"
floor PASSED "Wimp pass"
fma FAILED ULP error, since our intermediate result is not infinite accurate
fmax FAILED returns wrong value for both subnormal
fmin FAILED returns wrong value for both subnormal
fmod FAILED huge ULP error across the board
fract PASSED "Wimp pass"
frexp FAILED "32 ULP error at 0x1.008p-140" (subnormal)
hypot FAILED
ilogb PASSED "Wimp pass"
isequal PASSED "Wimp pass"
isfinite PASSED "Wimp pass"
isgreater FAILED wrong result for subnormal
isgreaterequal FAILED wrong result for subnormal
isinf PASSED "Wimp pass"
isless FAILED wrong result for subnormal
islessequal FAILED wrong result for subnormal
islessgreater PASSED "Wimp pass"
isnan PASSED "Wimp pass"
isnormal PASSED "Wimp pass"
isnotequal PASSED "Wimp pass"
isordered PASSED "Wimp pass"
isunordered PASSED "Wimp pass"
ldexp PASSED "Wimp pass"
lgamma FAILED "-nan ulp error at -nan (0xff800100): *-nan vs. inf"
lgamma_r FAILED
log FAILED "8 ULP error at 0x1.0002p+1"
log2 FAILED 5 (6) ULP error for 0x1.0002+1 (0x1.0006p-3)
log10 FAILED "-4 ULP error at 0x1.0038p+26"
log1p FAILED
logb PASSED "Wimp pass"
mad PASSED "Wimp pass"
maxmag PASSED "Wimp pass"
minmag FAILED wrong result for both subnormal
modf PASSED "Wimp pass"
nan PASSED "Wimp pass"
nextafter FAILED Implemented behavior is allowed by specification (7.5.3 Edge Case Behavior in Flush To Zero Mode)
pow FAILED
pown FAILED
powr FAILED
remainder FAILED
remquo FAILED
rint FAILED
rootn FAILED
round PASSED "Wimp pass"
rsqrt PASSED "Wimp pass"
signbit PASSED "Wimp pass"
sin FAILED
sincos FAILED
sinh FAILED
sinpi FAILED
sqrt PASSED "Wimp pass"
sqrt_cr skipped
tan FAILED
tanh FAILED
tanpi FAILED
trunc PASSED "Wimp pass"
half_cos FAILED "nan ulp error at -inf (0xff800000): *nan vs. 0x0p+0"
half_divide FAILED
half_exp FAILED "-nan ulp error at -nan (0xff800100): *-nan vs. 0x0p+0"
half_exp2 FAILED "-nan ulp error at -nan (0xff800100): *-nan vs. 0x0p+0"
half_exp10 FAILED "-nan ulp error at -nan (0xff800100): *-nan vs. 0x0p+0"
half_log FAILED
half_log2 FAILED
half_log10 FAILED
half_powr FAILED
half_recip FAILED "-nan ulp error at -nan (0xff800100): *-nan vs. -0x0p+0"
half_rsqrt PASSED "Wimp pass"
half_sin FAILED "nan ulp error at -inf (0xff800000): *nan vs. 0x0p+0"
half_sqrt PASSED "Wimp pass"
half_tan FAILED "nan ulp error at -inf (0xff800000): *nan vs. 0x0p+0"
add PASSED "Wimp pass"
subtract PASSED "Wimp pass"
divide PASSED "Wimp pass"
divide_cr skipped
multiply PASSED "Wimp pass"
assignment PASSED "Wimp pass"
not PASSED "Wimp pass"

Integer Ops (integer_ops/test_integer_ops)

Test name Status Reason
integer_clz PASSED
integer_ctz skipped
integer_hadd PASSED
integer_rhadd PASSED
integer_mul_hi PASSED
integer_rotate PASSED
integer_clamp PASSED
integer_mad_sat PASSED
integer_mad_hi PASSED
integer_min PASSED
integer_max PASSED
integer_upsample PASSED
integer_abs PASSED
integer_abs_diff PASSED
integer_add_sat PASSED
integer_sub_sat PASSED
integer_addAssign PASSED
integer_subtractAssign PASSED
integer_multiplyAssign PASSED
integer_divideAssign PASSED
integer_moduloAssign PASSED
integer_andAssign PASSED
integer_orAssign PASSED
integer_exclusiveOrAssign PASSED
unary_ops_increment PASSED
unary_ops_decrement PASSED
unary_ops_full PASSED
integer_mul24 FAILED
integer_mad24 FAILED value mismatch (0x007f0aac * 0xffea31bd + 0xc4d746b9 = *0x88e513b5 vs 0x34e513b5)
long_math skipped
long_logic skipped
long_shift skipped
long_compare skipped
ulong_math skipped
ulong_logic skipped
ulong_shift skipped
ulong_compare skipped
int_math PASSED runs very long
int_logic PASSED runs very long
int_shift PASSED runs very long
int_compare PASSED runs very long
uint_math PASSED runs very long
uint_logic PASSED runs very long
uint_shift PASSED runs very long
uint_compare PASSED runs very long
short_math PASSED runs very long
short_logic PASSED runs very long
short_shift PASSED runs very long
short_compare PASSED runs very long
ushort_math PASSED runs very long
ushort_logic PASSED runs very long
ushort_shift PASSED runs very long
ushort_compare PASSED runs very long
char_math PASSED runs very long
char_logic PASSED runs very long
char_shift PASSED runs very long
char_compare PASSED runs very long
uchar_math PASSED runs very long
uchar_logic PASSED runs very long
uchar_shift PASSED runs very long
uchar_compare PASSED runs very long
popcount PASSED
quick_long_math skipped
quick_long_logic skipped
quick_long_shift skipped
quick_long_compare skipped
quick_ulong_math skipped
quick_ulong_logic skipped
quick_ulong_shift skipped
quick_ulong_compare skipped
quick_int_math PASSED
quick_int_logic PASSED
quick_int_shift PASSED
quick_int_compare PASSED
quick_uint_math PASSED
quick_uint_logic PASSED
quick_uint_shift PASSED
quick_uint_compare PASSED
quick_short_math PASSED
quick_short_logic PASSED
quick_short_shift PASSED
quick_short_compare PASSED
quick_ushort_math PASSED
quick_ushort_logic PASSED
quick_ushort_shift PASSED
quick_ushort_compare PASSED
quick_char_math PASSED
quick_char_logic PASSED
quick_char_shift PASSED
quick_char_compare PASSED
quick_uchar_math PASSED
quick_uchar_logic PASSED
quick_uchar_shift PASSED
quick_uchar_compare PASSED
vector_scalar FAILED failed without message after finishing char16 tests
integer_dot_product SKIPPED requires extension cl_khr_integer_dot_product

Half Ops (half/test_half)

Test name Status Reason
vload_half FAILED result mismatch __local vload_half3 (NaN vs. denormal)
vloada_half FAILED result mismatch __local vload_half3 (access alignment?))
vstore_half FAILED result mismatch __local vstore_half2 (access alignment?)
vstorea_half FAILED rounding errors runs long without -w
vstore_half_rte FAILED
vstorea_half_rte FAILED rounding errors runs long without -w
vstore_half_rtz FAILED
vstorea_half_rtz FAILED rounding errors runs long without -w
vstore_half_rtp FAILED
vstorea_half_rtp FAILED rounding errors runs long without -w
vstore_half_rtn FAILED
vstorea_half_rtn FAILED rounding errors runs long without -w
roundTrip PASSED

Conversions (conversions/test_conversions)

passes all (u)char tests, takes long for shorts

Device partition (device_partition/test_device_partition)

SKIPPED

Multiple device (multiple_device_context/test_multiples)

Test name Status Reason
context_multiple_contexts_same_device PASSED
context_two_contexts_same_device PASSED
context_three_contexts_same_device PASSED
context_four_contexts_same_device PASSED takes very long
two_devices SKIPPED no second device
max_devices PASSED single device
hundred_queues PASSED

Vectors (vectors/test_vectors)

Test name Status Reason
step_type PASSED
step_var PASSED
step_typedef_type PASSED
step_typedef_var PASSED
vec_align_array PASSED runs long
vec_align_struct PASSED runs long
vec_align_packed_struct PASSED runs long
vec_align_struct_arr PASSED runs long
vec_align_packed_struct_arr PASSED runs long

SPIR IR (spir/test_spir)

Test name Status Reason
api PASSED
api_double skipped
atomics PASSED
basic FAILED compilation error in test_fn.async_copy_global_to_local_char
basic_double skipped
commonfns PASSED
commonfns_double skipped
conversions PASSED
conversions_double skipped
geometrics PASSED
geometrics_double skipped
half FAILED a lot of "Not normalized instruction found: xxx" for all vstore_half/vload_half
half_double skipped
kernel_image_methods skipped
images_kernel_read_write skipped
images_samplerlessRead skipped
integer_ops PASSED
math_brute_force PASSED
math_brute_force_double skipped
printf FAILED "Not normalized instruction found" (printf function)
profiling skipped
relationals PASSED
relationals_double skipped
select PASSED
select_double skipped
vec_align PASSED
vec_align_double skipped
vec_step PASSED
vec_step_double skipped
compile_and_link FAILED
sampler_enumeration skipped
enum_values skipped
kernel_attributes DISABLED in OpenCL-CTS "expected work_group_size_hint(64,1,1) attribute not found"
binary_type FAILED "binary type is 1 as opposed to 16609 which is the expected value"

SPIR-V (spirv_new/test_spirv_new)

Test name Status Reason
ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_int PASSED on emulator
ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_int PASSED on emulator
ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_int PASSED on emulator
ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_int PASSED on emulator
ext_cl_khr_spirv_no_integer_wrap_decoration_fnegate_int PASSED on emulator
ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_uint PASSED on emulator
ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_uint PASSED on emulator
ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_uint PASSED on emulator
ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_uint PASSED on emulator
decorate_restrict compilation error no (matching) llvm-spirv for LLVM 6.0 on Raspberry Pi
decorate_aliased
decorate_alignment
decorate_constant
decorate_cpacked
decorate_saturated_conversion_char
decorate_saturated_conversion_uchar
decorate_saturated_conversion_short
decorate_saturated_conversion_ushort
decorate_saturated_conversion_int PASSED
decorate_saturated_conversion_uint PASSED
decorate_volatile skipped
decorate_coherent skipped
decorate_nonwritable skipped
decorate_nonreadable skipped
decorate_fp_rounding_mode_rte_float_int
decorate_fp_rounding_mode_rtz_float_int
decorate_fp_rounding_mode_rtp_float_int
decorate_fp_rounding_mode_rtn_float_int
decorate_fp_rounding_mode_rte_double_long skipped
decorate_fp_rounding_mode_rtz_double_long skipped
decorate_fp_rounding_mode_rtp_double_long skipped
decorate_fp_rounding_mode_rtn_double_long skipped
linkage_export_function_compile
linkage_import_function_compile
linkage_import_function_link
op_atomic_inc_global
op_atomic_dec_global
op_label_simple
op_branch_simple
op_unreachable_simple
op_branch_conditional
op_branch_conditional_weighted
op_composite_construct_int4
op_composite_construct_struct
op_constant_true_simple
op_constant_false_simple
op_constant_int_simple
op_constant_uint_simple
op_constant_char_simple
op_constant_uchar_simple
op_constant_ushort_simple
op_constant_long_simple
op_constant_ulong_simple
op_constant_short_simple
op_constant_float_simple
op_constant_double_simple skipped
op_constant_int4_simple
op_constant_int3_simple
op_constant_struct_int_float_simple
op_constant_struct_int_char_simple
op_constant_struct_struct_simple
op_constant_half_simple skipped
op_copy_int_simple
op_copy_uint_simple
op_copy_char_simple
op_copy_uchar_simple
op_copy_ushort_simple
op_copy_long_simple
op_copy_ulong_simple
op_copy_short_simple
op_copy_float_simple
op_copy_double_simple skipped
op_copy_int4_simple
op_copy_int3_simple
op_copy_struct_int_float_simple
op_copy_struct_int_char_simple
op_copy_struct_struct_simple
op_copy_half_simple skipped
op_fadd_float_regular
op_fsub_float_regular
op_fmul_float_regular
op_fdiv_float_regular
op_frem_float_regular
op_fmod_float_regular
op_fadd_float_fast
op_fsub_float_fast
op_fmul_float_fast
op_fdiv_float_fast
op_frem_float_fast
op_fmod_float_fast
op_fadd_double_regular skipped
op_fsub_double_regular skipped
op_fmul_double_regular skipped
op_fdiv_double_regular skipped
op_frem_double_regular skipped
op_fmod_double_regular skipped
op_fadd_double_fast skipped
op_fsub_double_fast skipped
op_fmul_double_fast skipped
op_fdiv_double_fast skipped
op_frem_double_fast skipped
op_fmod_double_fast skipped
op_fadd_float4_regular
op_fsub_float4_regular
op_fmul_float4_regular
op_fdiv_float4_regular
op_frem_float4_regular
op_fmod_float4_regular
op_fadd_float4_fast
op_fsub_float4_fast
op_fmul_float4_fast
op_fdiv_float4_fast
op_frem_float4_fast
op_fmod_float4_fast
op_fadd_double2_regular skipped
op_fsub_double2_regular skipped
op_fmul_double2_regular skipped
op_fdiv_double2_regular skipped
op_frem_double2_regular skipped
op_fmod_double2_regular skipped
op_fadd_double2_fast skipped
op_fsub_double2_fast skipped
op_fmul_double2_fast skipped
op_fdiv_double2_fast skipped
op_frem_double2_fast skipped
op_fmod_double2_fast skipped
op_fadd_half_regular skipped
op_fsub_half_regular skipped
op_fmul_half_regular skipped
op_fdiv_half_regular skipped
op_frem_half_regular skipped
op_fmod_half_regular skipped
op_fadd_half_fast skipped
op_fsub_half_fast skipped
op_fmul_half_fast skipped
op_fdiv_half_fast skipped
op_frem_half_fast skipped
op_fmod_half_fast skipped
function_none
function_inline
function_noinline
function_pure
function_const
function_pure_ptr
op_lifetime_simple
op_loop_merge_branch_none
op_loop_merge_branch_unroll
op_loop_merge_branch_dont_unroll
op_loop_merge_branch_conditional_none
op_loop_merge_branch_conditional_unroll
op_loop_merge_branch_conditional_dont_unroll
op_neg_float
op_neg_double skipped
op_neg_int
op_neg_long
op_not_int
op_not_long
op_neg_short
op_not_short
op_neg_float4
op_neg_int4
op_not_int4
op_type_opaque_simple
op_phi_2_blocks
op_phi_3_blocks
op_phi_4_blocks
op_selection_merge_if_none
op_selection_merge_if_flatten
op_selection_merge_if_dont_flatten
op_selection_merge_swith_none
op_selection_merge_swith_flatten
op_selection_merge_swith_dont_flatten
op_spec_constant_uint_simple
op_spec_constant_uchar_simple
op_spec_constant_ushort_simple
op_spec_constant_ulong_simple
op_spec_constant_float_simple
op_spec_constant_half_simple skipped
op_spec_constant_double_simple skipped
op_spec_constant_true_simple
op_spec_constant_false_simple
op_undef_true_simple
op_undef_false_simple
op_undef_int_simple
op_undef_uint_simple
op_undef_char_simple
op_undef_uchar_simple
op_undef_ushort_simple
op_undef_long_simple
op_undef_ulong_simple
op_undef_short_simple
op_undef_float_simple
op_undef_double_simple skipped
op_undef_int4_simple
op_undef_int3_simple
op_undef_struct_int_float_simple
op_undef_struct_int_char_simple
op_undef_struct_struct_simple
op_undef_half_simple skipped
op_vector_int4_extract
op_vector_float4_extract
op_vector_long2_extract
op_vector_double2_extract skipped
op_vector_char16_extract
op_vector_int4_insert
op_vector_float4_insert
op_vector_long2_insert
op_vector_double2_insert skipped
op_vector_char16_insert
op_vector_times_scalar_float
op_vector_times_scalar_double skipped

Device execution (device_execution/test_device_execution)

SKIPPED, OpenCL 2.0 feature

Device timer (device_timer/test_device_timer)

SKIPPED, OpenCL 2.1 feature

Generic address space (generic_address_space/test_generic_address_space)

SKIPPED, OpenCL 2.0 feature

Non Uniform Workgroup (non_uniform_work_group/test_non_uniform_work_group)

SKIPPED, OpenCL 2.0 feature

Pipes (pipes/test_pipes)

SKIPPED, OpenCL 2.0 feature

Subgroups (subgroups/test_subgroups)

SKIPPED

Workgroups (workgroups/test_workgroups)

Test name Status Reason
work_group_all skipped OpenCL 2.0 feature
work_group_any skipped OpenCL 2.0 feature
work_group_reduce_add skipped OpenCL 2.0 feature
work_group_reduce_min skipped OpenCL 2.0 feature
work_group_reduce_max skipped OpenCL 2.0 feature
work_group_scan_inclusive_add skipped OpenCL 2.0 feature
work_group_scan_inclusive_min skipped OpenCL 2.0 feature
work_group_scan_inclusive_max skipped OpenCL 2.0 feature
work_group_scan_exclusive_add skipped OpenCL 2.0 feature
work_group_scan_exclusive_min skipped OpenCL 2.0 feature
work_group_scan_exclusive_max skipped OpenCL 2.0 feature
work_group_broadcast_1D skipped OpenCL 2.0 feature
work_group_broadcast_2D skipped OpenCL 2.0 feature
work_group_broadcast_3D skipped OpenCL 2.0 feature
work_group_suggested_local_size_1D FAILED "work_group_suggested_local_size_1D for odds failed!"
work_group_suggested_local_size_2D FAILED "work_group_suggested_local_size_2D for odds failed!"
work_group_suggested_local_size_3D FAILED "work_group_suggested_local_size_3D for odds failed!"

SVM (SVM/test_svm)

SKIPPED, OpenCL 2.0 feature

C++ for OpenCL (extensions/cl_ext_cxx_for_opencl/test_cxx_for_opencl)

SKIPPED, OpenCL 2.0 extension

Clone this wiki locally