Merge branch 'cl20_trunk'

This commit is contained in:
Kevin Petit
2019-08-01 10:30:10 +01:00
10 changed files with 331 additions and 5 deletions

View File

@@ -65,6 +65,9 @@ set(CSV_FILES
opencl_conformance_tests_full_no_math_or_conversions.csv opencl_conformance_tests_full_no_math_or_conversions.csv
opencl_conformance_tests_math.csv opencl_conformance_tests_math.csv
opencl_conformance_tests_quick.csv opencl_conformance_tests_quick.csv
opencl_conformance_tests_20_full.csv
opencl_conformance_tests_20_full_no_math_or_conversions.csv
opencl_conformance_tests_20_quick.csv
) )
set(PY_FILES set(PY_FILES
run_conformance.py run_conformance.py

View File

@@ -1327,14 +1327,19 @@ int test_min_max_constant_buffer_size(cl_device_id deviceID, cl_context context,
log_info("Reported max constant buffer size of %lld bytes.\n", maxSize); log_info("Reported max constant buffer size of %lld bytes.\n", maxSize);
// Limit test buffer size to 1/8 of CL_DEVICE_GLOBAL_MEM_SIZE
error = clGetDeviceInfo(deviceID, CL_DEVICE_GLOBAL_MEM_SIZE, sizeof(maxGlobalSize), &maxGlobalSize, 0); error = clGetDeviceInfo(deviceID, CL_DEVICE_GLOBAL_MEM_SIZE, sizeof(maxGlobalSize), &maxGlobalSize, 0);
test_error(error, "Unable to get CL_DEVICE_GLOBAL_MEM_SIZE"); test_error(error, "Unable to get CL_DEVICE_GLOBAL_MEM_SIZE");
if (maxSize > maxGlobalSize / 8) if (maxSize > maxGlobalSize / 8)
maxSize = maxGlobalSize / 8; maxSize = maxGlobalSize / 8;
error = clGetDeviceInfo(deviceID, CL_DEVICE_MAX_MEM_ALLOC_SIZE , sizeof(maxAllocSize), &maxAllocSize, 0); error = clGetDeviceInfo(deviceID, CL_DEVICE_MAX_MEM_ALLOC_SIZE , sizeof(maxAllocSize), &maxAllocSize, 0);
test_error(error, "Unable to get CL_DEVICE_MAX_MEM_ALLOC_SIZE "); test_error(error, "Unable to get CL_DEVICE_MAX_MEM_ALLOC_SIZE ");
if (maxSize > maxAllocSize) if (maxSize > maxAllocSize)
maxSize = maxAllocSize; maxSize = maxAllocSize;
/* Create a kernel to test with */ /* Create a kernel to test with */
if( create_single_kernel_helper( context, &program, &kernel, 1, sample_const_arg_kernel, "sample_test" ) != 0 ) if( create_single_kernel_helper( context, &program, &kernel, 1, sample_const_arg_kernel, "sample_test" ) != 0 )
{ {
@@ -1426,7 +1431,7 @@ int test_min_max_constant_buffer_size(cl_device_id deviceID, cl_context context,
if (allocPassed) { if (allocPassed) {
if (currentSize < maxSize/PASSING_FRACTION) { if (currentSize < maxSize/PASSING_FRACTION) {
log_error("Failed to allocate at least 1/4 of the reported constant size.\n"); log_error("Failed to allocate at least 1/8 of the reported constant size.\n");
return -1; return -1;
} else if (currentSize != maxSize) { } else if (currentSize != maxSize) {
log_info("Passed at reduced size. (%lld of %lld bytes)\n", currentSize, maxSize); log_info("Passed at reduced size. (%lld of %lld bytes)\n", currentSize, maxSize);

View File

@@ -111,14 +111,20 @@ test_constant(cl_device_id device, cl_context context, cl_command_queue queue, i
test_error( err, "Unable to get max constant buffer size" ); test_error( err, "Unable to get max constant buffer size" );
log_info("Device reports CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE %llu bytes.\n", maxSize); log_info("Device reports CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE %llu bytes.\n", maxSize);
// Limit test buffer size to 1/4 of CL_DEVICE_GLOBAL_MEM_SIZE
err = clGetDeviceInfo(device, CL_DEVICE_GLOBAL_MEM_SIZE, sizeof(maxGlobalSize), &maxGlobalSize, 0); err = clGetDeviceInfo(device, CL_DEVICE_GLOBAL_MEM_SIZE, sizeof(maxGlobalSize), &maxGlobalSize, 0);
test_error(err, "Unable to get CL_DEVICE_GLOBAL_MEM_SIZE"); test_error(err, "Unable to get CL_DEVICE_GLOBAL_MEM_SIZE");
if (maxSize > maxGlobalSize / 4) if (maxSize > maxGlobalSize / 4)
maxSize = maxGlobalSize / 4; maxSize = maxGlobalSize / 4;
err = clGetDeviceInfo(device, CL_DEVICE_MAX_MEM_ALLOC_SIZE , sizeof(maxAllocSize), &maxAllocSize, 0); err = clGetDeviceInfo(device, CL_DEVICE_MAX_MEM_ALLOC_SIZE , sizeof(maxAllocSize), &maxAllocSize, 0);
test_error(err, "Unable to get CL_DEVICE_MAX_MEM_ALLOC_SIZE "); test_error(err, "Unable to get CL_DEVICE_MAX_MEM_ALLOC_SIZE ");
if (maxSize > maxAllocSize) if (maxSize > maxAllocSize)
maxSize = maxAllocSize; maxSize = maxAllocSize;
maxSize/=4; maxSize/=4;
num_ints = (size_t)maxSize/sizeof(cl_int); num_ints = (size_t)maxSize/sizeof(cl_int);
num_floats = (size_t)maxSize/sizeof(cl_float); num_floats = (size_t)maxSize/sizeof(cl_float);

View File

@@ -496,6 +496,7 @@ int test_min_max_mem_alloc_size(cl_device_id deviceID, cl_context context, cl_co
if (memSize > (cl_ulong)SIZE_MAX) { if (memSize > (cl_ulong)SIZE_MAX) {
memSize = (cl_ulong)SIZE_MAX; memSize = (cl_ulong)SIZE_MAX;
} }
if( maxAllocSize < requiredAllocSize) if( maxAllocSize < requiredAllocSize)
{ {
log_error( "ERROR: Reported max allocation size is less than required %lldMB! (%llu or %lluMB, from a total mem size of %lldMB)\n", (requiredAllocSize / 1024) / 1024, maxAllocSize, (maxAllocSize / 1024)/1024, (memSize / 1024)/1024 ); log_error( "ERROR: Reported max allocation size is less than required %lldMB! (%llu or %lluMB, from a total mem size of %lldMB)\n", (requiredAllocSize / 1024) / 1024, maxAllocSize, (maxAllocSize / 1024)/1024, (memSize / 1024)/1024 );
@@ -503,10 +504,12 @@ int test_min_max_mem_alloc_size(cl_device_id deviceID, cl_context context, cl_co
} }
requiredAllocSize = ((memSize / 4) > (1024 * 1024 * 1024)) ? 1024 * 1024 * 1024 : memSize / 4; requiredAllocSize = ((memSize / 4) > (1024 * 1024 * 1024)) ? 1024 * 1024 * 1024 : memSize / 4;
if (gIsEmbedded) if (gIsEmbedded)
requiredAllocSize = (requiredAllocSize < 1 * 1024 * 1024) ? 1 * 1024 * 1024 : requiredAllocSize; requiredAllocSize = (requiredAllocSize < 1 * 1024 * 1024) ? 1 * 1024 * 1024 : requiredAllocSize;
else else
requiredAllocSize = (requiredAllocSize < 128 * 1024 * 1024) ? 128 * 1024 * 1024 : requiredAllocSize; requiredAllocSize = (requiredAllocSize < 128 * 1024 * 1024) ? 128 * 1024 * 1024 : requiredAllocSize;
if( maxAllocSize < requiredAllocSize ) if( maxAllocSize < requiredAllocSize )
{ {
log_error( "ERROR: Reported max allocation size is less than required of total memory! (%llu or %lluMB, from a total mem size of %lluMB)\n", maxAllocSize, (maxAllocSize / 1024)/1024, (requiredAllocSize / 1024)/1024 ); log_error( "ERROR: Reported max allocation size is less than required of total memory! (%llu or %lluMB, from a total mem size of %lluMB)\n", maxAllocSize, (maxAllocSize / 1024)/1024, (requiredAllocSize / 1024)/1024 );
@@ -519,7 +522,6 @@ int test_min_max_mem_alloc_size(cl_device_id deviceID, cl_context context, cl_co
if ( memSize < maxAllocSize ) { if ( memSize < maxAllocSize ) {
log_info("Global memory size is less than max allocation size, using that.\n"); log_info("Global memory size is less than max allocation size, using that.\n");
maxAllocSize = memSize; maxAllocSize = memSize;
} }
minSizeToTry = maxAllocSize/16; minSizeToTry = maxAllocSize/16;
@@ -1320,14 +1322,19 @@ int test_min_max_constant_buffer_size(cl_device_id deviceID, cl_context context,
log_info("Reported max constant buffer size of %lld bytes.\n", maxSize); log_info("Reported max constant buffer size of %lld bytes.\n", maxSize);
// Limit test buffer size to 1/8 of CL_DEVICE_GLOBAL_MEM_SIZE
error = clGetDeviceInfo(deviceID, CL_DEVICE_GLOBAL_MEM_SIZE, sizeof(maxGlobalSize), &maxGlobalSize, 0); error = clGetDeviceInfo(deviceID, CL_DEVICE_GLOBAL_MEM_SIZE, sizeof(maxGlobalSize), &maxGlobalSize, 0);
test_error(error, "Unable to get CL_DEVICE_GLOBAL_MEM_SIZE"); test_error(error, "Unable to get CL_DEVICE_GLOBAL_MEM_SIZE");
if (maxSize > maxGlobalSize / 8) if (maxSize > maxGlobalSize / 8)
maxSize = maxGlobalSize / 8; maxSize = maxGlobalSize / 8;
error = clGetDeviceInfo(deviceID, CL_DEVICE_MAX_MEM_ALLOC_SIZE , sizeof(maxAllocSize), &maxAllocSize, 0); error = clGetDeviceInfo(deviceID, CL_DEVICE_MAX_MEM_ALLOC_SIZE , sizeof(maxAllocSize), &maxAllocSize, 0);
test_error(error, "Unable to get CL_DEVICE_MAX_MEM_ALLOC_SIZE "); test_error(error, "Unable to get CL_DEVICE_MAX_MEM_ALLOC_SIZE ");
if (maxSize > maxAllocSize) if (maxSize > maxAllocSize)
maxSize = maxAllocSize; maxSize = maxAllocSize;
/* Create a kernel to test with */ /* Create a kernel to test with */
if( create_single_kernel_helper( context, &program, &kernel, 1, sample_const_arg_kernel, "sample_test" ) != 0 ) if( create_single_kernel_helper( context, &program, &kernel, 1, sample_const_arg_kernel, "sample_test" ) != 0 )
{ {
@@ -1418,7 +1425,7 @@ int test_min_max_constant_buffer_size(cl_device_id deviceID, cl_context context,
if (allocPassed) { if (allocPassed) {
if (currentSize < maxSize/PASSING_FRACTION) { if (currentSize < maxSize/PASSING_FRACTION) {
log_error("Failed to allocate at least 1/4 of the reported constant size.\n"); log_error("Failed to allocate at least 1/8 of the reported constant size.\n");
return -1; return -1;
} else if (currentSize != maxSize) { } else if (currentSize != maxSize) {
log_info("Passed at reduced size. (%lld of %lld bytes)\n", currentSize, maxSize); log_info("Passed at reduced size. (%lld of %lld bytes)\n", currentSize, maxSize);

View File

@@ -110,14 +110,20 @@ test_constant(cl_device_id device, cl_context context, cl_command_queue queue, i
test_error( err, "Unable to get max constant buffer size" ); test_error( err, "Unable to get max constant buffer size" );
log_info("Device reports CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE %llu bytes.\n", maxSize); log_info("Device reports CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE %llu bytes.\n", maxSize);
// Limit test buffer size to 1/4 of CL_DEVICE_GLOBAL_MEM_SIZE
err = clGetDeviceInfo(device, CL_DEVICE_GLOBAL_MEM_SIZE, sizeof(maxGlobalSize), &maxGlobalSize, 0); err = clGetDeviceInfo(device, CL_DEVICE_GLOBAL_MEM_SIZE, sizeof(maxGlobalSize), &maxGlobalSize, 0);
test_error(err, "Unable to get CL_DEVICE_GLOBAL_MEM_SIZE"); test_error(err, "Unable to get CL_DEVICE_GLOBAL_MEM_SIZE");
if (maxSize > maxGlobalSize / 4) if (maxSize > maxGlobalSize / 4)
maxSize = maxGlobalSize / 4; maxSize = maxGlobalSize / 4;
err = clGetDeviceInfo(device, CL_DEVICE_MAX_MEM_ALLOC_SIZE , sizeof(maxAllocSize), &maxAllocSize, 0); err = clGetDeviceInfo(device, CL_DEVICE_MAX_MEM_ALLOC_SIZE , sizeof(maxAllocSize), &maxAllocSize, 0);
test_error(err, "Unable to get CL_DEVICE_MAX_MEM_ALLOC_SIZE "); test_error(err, "Unable to get CL_DEVICE_MAX_MEM_ALLOC_SIZE ");
if (maxSize > maxAllocSize) if (maxSize > maxAllocSize)
maxSize = maxAllocSize; maxSize = maxAllocSize;
maxSize/=4; maxSize/=4;
num_ints = (size_t)maxSize/sizeof(cl_int); num_ints = (size_t)maxSize/sizeof(cl_int);
num_floats = (size_t)maxSize/sizeof(cl_float); num_floats = (size_t)maxSize/sizeof(cl_float);

View File

@@ -223,7 +223,7 @@ test_hostptr(cl_device_id device, cl_context context, cl_command_queue queue, in
log_info("Mapping the CL_MEM_USE_HOST_PTR image with clEnqueueMapImage...\n"); log_info("Mapping the CL_MEM_USE_HOST_PTR image with clEnqueueMapImage...\n");
size_t row_pitch; size_t row_pitch;
lock_buffer = clEnqueueMapImage(queue, streams[5], CL_TRUE, lock_buffer = clEnqueueMapImage(queue, streams[5], CL_TRUE,
0, origin, region, CL_MAP_READ, origin, region,
&row_pitch, NULL, &row_pitch, NULL,
0, NULL, NULL, &err); 0, NULL, NULL, &err);
test_error(err, "clEnqueueMapImage failed"); test_error(err, "clEnqueueMapImage failed");

View File

@@ -253,7 +253,7 @@ int test_cl_image_read( cl_context context, cl_command_queue queue,
programPtr = kernelSource; programPtr = kernelSource;
if( create_single_kernel_helper( context, &program, &kernel, 1, if( create_single_kernel_helper( context, &program, &kernel, 1,
(const char **)&programPtr, "sample_test" ) ) (const char **)&programPtr, "sample_test", "-cl-std=CL2.0" ) )
{ {
return -1; return -1;
} }

View File

@@ -0,0 +1,117 @@
#
# OpenCL Conformance Test Suite (full version)
#
# #########################################
# Basic Information on the compute device
# #########################################
Compute Info,computeinfo/computeinfo
# #########################################
# Basic operation tests
# #########################################
Basic,basic/test_basic
API,api/test_api
Compiler,compiler/test_compiler
# #########################################
# Common mathematical functions
# #########################################
Common Functions,commonfns/test_commonfns
Geometric Functions,geometrics/test_geometrics
Relationals,relationals/test_relationals
# #########################################
# General operation
# #########################################
Thread Dimensions,thread_dimensions/test_thread_dimensions full*
Multiple Device/Context,multiple_device_context/test_multiples
Atomics,atomics/test_atomics
Profiling,profiling/test_profiling
Events,events/test_events
Allocations (single maximum),allocations/test_allocations single 5 all
Allocations (total maximum),allocations/test_allocations multiple 5 all
VecAlign, vec_align/test_vecalign
VecStep, vec_step/test_vecstep
Printf,printf/test_printf
Device Partitioning,device_partition/test_device_partition
# #########################################
# Buffers and images
# #########################################
Buffers,buffers/test_buffers
Images (API Info),images/clGetInfo/test_cl_get_info
Images (Kernel Methods),images/kernel_image_methods/test_kernel_image_methods
Images (Kernel),images/kernel_read_write/test_image_streams CL_FILTER_NEAREST
Images (Kernel pitch),images/kernel_read_write/test_image_streams use_pitches CL_FILTER_NEAREST
Images (Kernel max size),images/kernel_read_write/test_image_streams max_images CL_FILTER_NEAREST
Images (clCopyImage),images/clCopyImage/test_cl_copy_images
Images (clCopyImage small),images/clCopyImage/test_cl_copy_images small_images
Images (clCopyImage max size),images/clCopyImage/test_cl_copy_images max_images
Images (clReadWriteImage),images/clReadWriteImage/test_cl_read_write_images
Images (clReadWriteImage pitch),images/clReadWriteImage/test_cl_read_write_images use_pitches
Images (clReadWriteImage max size),images/clReadWriteImage/test_cl_read_write_images max_images
Images (clFillImage),images/clFillImage/test_cl_fill_images
Images (clFillImage pitch),images/clFillImage/test_cl_fill_images use_pitches
Images (clFillImage max size),images/clFillImage/test_cl_fill_images max_images
Images (Samplerless),images/samplerlessReads/test_samplerless_reads
Images (Samplerless pitch),images/samplerlessReads/test_samplerless_reads use_pitches
Images (Samplerless max size),images/samplerlessReads/test_samplerless_reads max_images
Mem (Host Flags),mem_host_flags/test_mem_host_flags
# #########################################
# Headers
# #########################################
Headers (cl_typen), headers/test_headers
Headers (cl.h standalone), headers/test_cl_h
Headers (cl_platform.h standalone), headers/test_cl_platform_h
Headers (cl_gl.h standalone), headers/test_cl_gl_h
Headers (opencl.h standalone), headers/test_opencl_h
# #########################################
# CPU is required to pass linear and normalized image filtering
# #########################################
CL_DEVICE_TYPE_CPU, Images (Kernel CL_FILTER_LINEAR),images/kernel_read_write/test_image_streams CL_FILTER_LINEAR
CL_DEVICE_TYPE_CPU, Images (Kernel CL_FILTER_LINEAR pitch),images/kernel_read_write/test_image_streams use_pitches CL_FILTER_LINEAR
CL_DEVICE_TYPE_CPU, Images (Kernel CL_FILTER_LINEAR max size),images/kernel_read_write/test_image_streams max_images CL_FILTER_LINEAR
# #########################################
# OpenGL/CL interaction
# #########################################
OpenCL-GL Sharing,gl/test_gl
# #########################################
# Thorough math and conversions tests
# #########################################
Select,select/test_select
Conversions,conversions/test_conversions
Contractions,contractions/contractions
Math,math_brute_force/bruteforce
Integer Ops,integer_ops/test_integer_ops
Half Ops,half/Test_half
# #########################################
# Compatibility with Previous Versions
# #########################################
Basic 1.2,compatibility/test_conformance/basic/test_basic
API 1.2,compatibility/test_conformance/api/test_api
#####################################
# OpenCL 2.0 tests
#####################################
C11 Atomics,c11_atomics/test_c11_atomics
Execution Model,device_execution/test_device_execution
Generic Address Space,generic_address_space/test_generic_address_space
Non Uniform Work Groups,non_uniform_work_group/test_non_uniform_work_group
Pipes,pipes/test_pipes
SVM,SVM/test_SVM
Workgroups,workgroups/test_workgroups
#########################################
# Extensions
#########################################
SPIR,spir/test_spir
Mipmaps (Kernel),images/kernel_read_write/test_image_streams test_mipmaps CL_FILTER_NEAREST
Mipmaps (clCopyImage),images/clCopyImage/test_cl_copy_images test_mipmaps
Mipmaps (clReadWriteImage),images/clReadWriteImage/test_cl_read_write_images test_mipmaps
Subgroups,subgroups/test_subgroups
1 #
2 # OpenCL Conformance Test Suite (full version)
3 #
4 # #########################################
5 # Basic Information on the compute device
6 # #########################################
7 Compute Info,computeinfo/computeinfo
8 # #########################################
9 # Basic operation tests
10 # #########################################
11 Basic,basic/test_basic
12 API,api/test_api
13 Compiler,compiler/test_compiler
14 # #########################################
15 # Common mathematical functions
16 # #########################################
17 Common Functions,commonfns/test_commonfns
18 Geometric Functions,geometrics/test_geometrics
19 Relationals,relationals/test_relationals
20 # #########################################
21 # General operation
22 # #########################################
23 Thread Dimensions,thread_dimensions/test_thread_dimensions full*
24 Multiple Device/Context,multiple_device_context/test_multiples
25 Atomics,atomics/test_atomics
26 Profiling,profiling/test_profiling
27 Events,events/test_events
28 Allocations (single maximum),allocations/test_allocations single 5 all
29 Allocations (total maximum),allocations/test_allocations multiple 5 all
30 VecAlign, vec_align/test_vecalign
31 VecStep, vec_step/test_vecstep
32 Printf,printf/test_printf
33 Device Partitioning,device_partition/test_device_partition
34 # #########################################
35 # Buffers and images
36 # #########################################
37 Buffers,buffers/test_buffers
38 Images (API Info),images/clGetInfo/test_cl_get_info
39 Images (Kernel Methods),images/kernel_image_methods/test_kernel_image_methods
40 Images (Kernel),images/kernel_read_write/test_image_streams CL_FILTER_NEAREST
41 Images (Kernel pitch),images/kernel_read_write/test_image_streams use_pitches CL_FILTER_NEAREST
42 Images (Kernel max size),images/kernel_read_write/test_image_streams max_images CL_FILTER_NEAREST
43 Images (clCopyImage),images/clCopyImage/test_cl_copy_images
44 Images (clCopyImage small),images/clCopyImage/test_cl_copy_images small_images
45 Images (clCopyImage max size),images/clCopyImage/test_cl_copy_images max_images
46 Images (clReadWriteImage),images/clReadWriteImage/test_cl_read_write_images
47 Images (clReadWriteImage pitch),images/clReadWriteImage/test_cl_read_write_images use_pitches
48 Images (clReadWriteImage max size),images/clReadWriteImage/test_cl_read_write_images max_images
49 Images (clFillImage),images/clFillImage/test_cl_fill_images
50 Images (clFillImage pitch),images/clFillImage/test_cl_fill_images use_pitches
51 Images (clFillImage max size),images/clFillImage/test_cl_fill_images max_images
52 Images (Samplerless),images/samplerlessReads/test_samplerless_reads
53 Images (Samplerless pitch),images/samplerlessReads/test_samplerless_reads use_pitches
54 Images (Samplerless max size),images/samplerlessReads/test_samplerless_reads max_images
55 Mem (Host Flags),mem_host_flags/test_mem_host_flags
56 # #########################################
57 # Headers
58 # #########################################
59 Headers (cl_typen), headers/test_headers
60 Headers (cl.h standalone), headers/test_cl_h
61 Headers (cl_platform.h standalone), headers/test_cl_platform_h
62 Headers (cl_gl.h standalone), headers/test_cl_gl_h
63 Headers (opencl.h standalone), headers/test_opencl_h
64 # #########################################
65 # CPU is required to pass linear and normalized image filtering
66 # #########################################
67 CL_DEVICE_TYPE_CPU, Images (Kernel CL_FILTER_LINEAR),images/kernel_read_write/test_image_streams CL_FILTER_LINEAR
68 CL_DEVICE_TYPE_CPU, Images (Kernel CL_FILTER_LINEAR pitch),images/kernel_read_write/test_image_streams use_pitches CL_FILTER_LINEAR
69 CL_DEVICE_TYPE_CPU, Images (Kernel CL_FILTER_LINEAR max size),images/kernel_read_write/test_image_streams max_images CL_FILTER_LINEAR
70 # #########################################
71 # OpenGL/CL interaction
72 # #########################################
73 OpenCL-GL Sharing,gl/test_gl
74 # #########################################
75 # Thorough math and conversions tests
76 # #########################################
77 Select,select/test_select
78 Conversions,conversions/test_conversions
79 Contractions,contractions/contractions
80 Math,math_brute_force/bruteforce
81 Integer Ops,integer_ops/test_integer_ops
82 Half Ops,half/Test_half
83 # #########################################
84 # Compatibility with Previous Versions
85 # #########################################
86 Basic 1.2,compatibility/test_conformance/basic/test_basic
87 API 1.2,compatibility/test_conformance/api/test_api
88 #####################################
89 # OpenCL 2.0 tests
90 #####################################
91 C11 Atomics,c11_atomics/test_c11_atomics
92 Execution Model,device_execution/test_device_execution
93 Generic Address Space,generic_address_space/test_generic_address_space
94 Non Uniform Work Groups,non_uniform_work_group/test_non_uniform_work_group
95 Pipes,pipes/test_pipes
96 SVM,SVM/test_SVM
97 Workgroups,workgroups/test_workgroups
98 #########################################
99 # Extensions
100 #########################################
101 SPIR,spir/test_spir
102 Mipmaps (Kernel),images/kernel_read_write/test_image_streams test_mipmaps CL_FILTER_NEAREST
103 Mipmaps (clCopyImage),images/clCopyImage/test_cl_copy_images test_mipmaps
104 Mipmaps (clReadWriteImage),images/clReadWriteImage/test_cl_read_write_images test_mipmaps
105 Subgroups,subgroups/test_subgroups

View File

@@ -0,0 +1,92 @@
#
# OpenCL Conformance Test Suite (full version)
#
# #########################################
# Basic Information on the compute device
# #########################################
Compute Info,computeinfo/computeinfo
# #########################################
# Basic operation tests
# #########################################
Basic,basic/test_basic
API,api/test_api
Compiler,compiler/test_compiler
# #########################################
# Common mathematical functions
# #########################################
Common Functions,commonfns/test_commonfns
Geometric Functions,geometrics/test_geometrics
Relationals,relationals/test_relationals
# #########################################
# General operation
# #########################################
Thread Dimensions,thread_dimensions/test_thread_dimensions full*
Multiple Device/Context,multiple_device_context/test_multiples
Atomics,atomics/test_atomics
Profiling,profiling/test_profiling
Events,events/test_events
Allocations (single maximum),allocations/test_allocations single 5 all
Allocations (total maximum),allocations/test_allocations multiple 5 all
VecAlign, vec_align/test_vecalign
VecStep, vec_step/test_vecstep
# #########################################
# Buffers and images
# #########################################
Buffers,buffers/test_buffers
Images (API Info),images/clGetInfo/test_cl_get_info
Images (Kernel Methods),images/kernel_image_methods/test_kernel_image_methods
Images (Kernel),images/kernel_read_write/test_image_streams CL_FILTER_NEAREST
Images (Kernel pitch),images/kernel_read_write/test_image_streams use_pitches CL_FILTER_NEAREST
Images (Kernel max size),images/kernel_read_write/test_image_streams max_images CL_FILTER_NEAREST
Images (clCopyImage),images/clCopyImage/test_cl_copy_images
Images (clCopyImage small),images/clCopyImage/test_cl_copy_images small_images
Images (clCopyImage max size),images/clCopyImage/test_cl_copy_images max_images
Images (clReadWriteImage),images/clReadWriteImage/test_cl_read_write_images
Images (clReadWriteImage pitch),images/clReadWriteImage/test_cl_read_write_images use_pitches
Images (clReadWriteImage max size),images/clReadWriteImage/test_cl_read_write_images max_images
Images (clFillImage),images/clFillImage/test_cl_fill_images
Images (clFillImage pitch),images/clFillImage/test_cl_fill_images use_pitches
Images (clFillImage max size),images/clFillImage/test_cl_fill_images max_images
Images (Samplerless),images/samplerlessReads/test_samplerless_reads
Images (Samplerless pitch),images/samplerlessReads/test_samplerless_reads use_pitches
Images (Samplerless max size),images/samplerlessReads/test_samplerless_reads max_images
Mem (Host Flags),mem_host_flags/test_mem_host_flags
# #########################################
# Headers
# #########################################
Headers (cl_typen), headers/test_headers
Headers (cl.h standalone), headers/test_cl_h
Headers (cl_platform.h standalone), headers/test_cl_platform_h
Headers (cl_gl.h standalone), headers/test_cl_gl_h
Headers (opencl.h standalone), headers/test_opencl_h
Headers (cl.h standalone C99), headers/test_cl_h_c99
Headers (cl_platform.h standalone C99), headers/test_cl_platform_h_c99
Headers (cl_gl.h standalone C99), headers/test_cl_gl_h_c99
Headers (opencl.h standalone C99), headers/test_opencl_h_c99
# #########################################
# CPU is required to pass linear and normalized image filtering
# #########################################
CL_DEVICE_TYPE_CPU, Images (Kernel CL_FILTER_LINEAR),images/kernel_read_write/test_image_streams CL_FILTER_LINEAR
CL_DEVICE_TYPE_CPU, Images (Kernel CL_FILTER_LINEAR pitch),images/kernel_read_write/test_image_streams use_pitches CL_FILTER_LINEAR
CL_DEVICE_TYPE_CPU, Images (Kernel CL_FILTER_LINEAR max size),images/kernel_read_write/test_image_streams max_images CL_FILTER_LINEAR
# #########################################
# OpenGL/CL interaction
# #########################################
OpenCL-GL Sharing,gl/test_gl
# #########################################
# Thorough math and conversions tests
# #########################################
Select,select/test_select
Contractions,contractions/contractions
Integer Ops,integer_ops/test_integer_ops
Half Ops,half/Test_half
1 #
2 # OpenCL Conformance Test Suite (full version)
3 #
4 # #########################################
5 # Basic Information on the compute device
6 # #########################################
7 Compute Info,computeinfo/computeinfo
8 # #########################################
9 # Basic operation tests
10 # #########################################
11 Basic,basic/test_basic
12 API,api/test_api
13 Compiler,compiler/test_compiler
14 # #########################################
15 # Common mathematical functions
16 # #########################################
17 Common Functions,commonfns/test_commonfns
18 Geometric Functions,geometrics/test_geometrics
19 Relationals,relationals/test_relationals
20 # #########################################
21 # General operation
22 # #########################################
23 Thread Dimensions,thread_dimensions/test_thread_dimensions full*
24 Multiple Device/Context,multiple_device_context/test_multiples
25 Atomics,atomics/test_atomics
26 Profiling,profiling/test_profiling
27 Events,events/test_events
28 Allocations (single maximum),allocations/test_allocations single 5 all
29 Allocations (total maximum),allocations/test_allocations multiple 5 all
30 VecAlign, vec_align/test_vecalign
31 VecStep, vec_step/test_vecstep
32 # #########################################
33 # Buffers and images
34 # #########################################
35 Buffers,buffers/test_buffers
36 Images (API Info),images/clGetInfo/test_cl_get_info
37 Images (Kernel Methods),images/kernel_image_methods/test_kernel_image_methods
38 Images (Kernel),images/kernel_read_write/test_image_streams CL_FILTER_NEAREST
39 Images (Kernel pitch),images/kernel_read_write/test_image_streams use_pitches CL_FILTER_NEAREST
40 Images (Kernel max size),images/kernel_read_write/test_image_streams max_images CL_FILTER_NEAREST
41 Images (clCopyImage),images/clCopyImage/test_cl_copy_images
42 Images (clCopyImage small),images/clCopyImage/test_cl_copy_images small_images
43 Images (clCopyImage max size),images/clCopyImage/test_cl_copy_images max_images
44 Images (clReadWriteImage),images/clReadWriteImage/test_cl_read_write_images
45 Images (clReadWriteImage pitch),images/clReadWriteImage/test_cl_read_write_images use_pitches
46 Images (clReadWriteImage max size),images/clReadWriteImage/test_cl_read_write_images max_images
47 Images (clFillImage),images/clFillImage/test_cl_fill_images
48 Images (clFillImage pitch),images/clFillImage/test_cl_fill_images use_pitches
49 Images (clFillImage max size),images/clFillImage/test_cl_fill_images max_images
50 Images (Samplerless),images/samplerlessReads/test_samplerless_reads
51 Images (Samplerless pitch),images/samplerlessReads/test_samplerless_reads use_pitches
52 Images (Samplerless max size),images/samplerlessReads/test_samplerless_reads max_images
53 Mem (Host Flags),mem_host_flags/test_mem_host_flags
54 # #########################################
55 # Headers
56 # #########################################
57 Headers (cl_typen), headers/test_headers
58 Headers (cl.h standalone), headers/test_cl_h
59 Headers (cl_platform.h standalone), headers/test_cl_platform_h
60 Headers (cl_gl.h standalone), headers/test_cl_gl_h
61 Headers (opencl.h standalone), headers/test_opencl_h
62 Headers (cl.h standalone C99), headers/test_cl_h_c99
63 Headers (cl_platform.h standalone C99), headers/test_cl_platform_h_c99
64 Headers (cl_gl.h standalone C99), headers/test_cl_gl_h_c99
65 Headers (opencl.h standalone C99), headers/test_opencl_h_c99
66 # #########################################
67 # CPU is required to pass linear and normalized image filtering
68 # #########################################
69 CL_DEVICE_TYPE_CPU, Images (Kernel CL_FILTER_LINEAR),images/kernel_read_write/test_image_streams CL_FILTER_LINEAR
70 CL_DEVICE_TYPE_CPU, Images (Kernel CL_FILTER_LINEAR pitch),images/kernel_read_write/test_image_streams use_pitches CL_FILTER_LINEAR
71 CL_DEVICE_TYPE_CPU, Images (Kernel CL_FILTER_LINEAR max size),images/kernel_read_write/test_image_streams max_images CL_FILTER_LINEAR
72 # #########################################
73 # OpenGL/CL interaction
74 # #########################################
75 OpenCL-GL Sharing,gl/test_gl
76 # #########################################
77 # Thorough math and conversions tests
78 # #########################################
79 Select,select/test_select
80 Contractions,contractions/contractions
81 Integer Ops,integer_ops/test_integer_ops
82 Half Ops,half/Test_half

View File

@@ -0,0 +1,90 @@
#
# OpenCL Conformance Test Suite (quick version)
# The quick version skips some long-running image tests, runs a shorter math test,
# and does not run the conversion test.
#
# #########################################
# Basic Information on the compute device
# #########################################
Compute Info,computeinfo/computeinfo
# #########################################
# Basic operation tests
# #########################################
Basic,basic/test_basic
API,api/test_api
Compiler,compiler/test_compiler
# #########################################
# Common mathematical functions
# #########################################
Common Functions,commonfns/test_commonfns
Geometric Functions,geometrics/test_geometrics
Relationals,relationals/test_relationals
# #########################################
# General operation
# #########################################
Thread Dimensions,thread_dimensions/test_thread_dimensions quick*
#Multiple Device/Context,multiple_device_context/test_multiples
Atomics,atomics/test_atomics
Profiling,profiling/test_profiling
Events,events/test_events
Allocations (single maximum),allocations/test_allocations single 5 all
Allocations (total maximum),allocations/test_allocations multiple 5 all
Printf,printf/test_printf
Device Partitioning,device_partition/test_device_partition
# #########################################
# Buffers and images
# #########################################
Buffers,buffers/test_buffers
Images (API Info),images/clGetInfo/test_cl_get_info
Images (Kernel Methods),images/kernel_image_methods/test_kernel_image_methods
Images (Kernel),images/kernel_read_write/test_image_streams CL_FILTER_NEAREST
Images (Kernel pitch),images/kernel_read_write/test_image_streams use_pitches CL_FILTER_NEAREST
Images (Kernel max size),images/kernel_read_write/test_image_streams max_images CL_FILTER_NEAREST
Images (clCopyImage),images/clCopyImage/test_cl_copy_images
Images (clCopyImage max size),images/clCopyImage/test_cl_copy_images max_images
Images (clReadWriteImage),images/clReadWriteImage/test_cl_read_write_images
Images (clReadWriteImage pitch),images/clReadWriteImage/test_cl_read_write_images use_pitches
Images (clReadWriteImage max size),images/clReadWriteImage/test_cl_read_write_images max_images
Images (clFillImage),images/clFillImage/test_cl_fill_images
Images (clFillImage pitch),images/clFillImage/test_cl_fill_images use_pitches
Images (clFillImage max size),images/clFillImage/test_cl_fill_images max_images
Images (Samplerless),images/samplerlessReads/test_samplerless_reads
Images (Samplerless pitch),images/samplerlessReads/test_samplerless_reads use_pitches
Images (Samplerless max size),images/samplerlessReads/test_samplerless_reads max_images
Mem (Host Flags),mem_host_flags/test_mem_host_flags
# #########################################
# Headers
# #########################################
Headers (cl_typen), headers/test_headers
Headers (cl.h standalone), headers/test_cl_h
Headers (cl_platform.h standalone), headers/test_cl_platform_h
Headers (cl_gl.h standalone), headers/test_cl_gl_h
Headers (opencl.h standalone), headers/test_opencl_h
# #########################################
# CPU is required to pass linear and normalized image filtering
# #########################################
CL_DEVICE_TYPE_CPU, Images (Kernel CL_FILTER_LINEAR),images/kernel_read_write/test_image_streams CL_FILTER_LINEAR
CL_DEVICE_TYPE_CPU, Images (Kernel CL_FILTER_LINEAR pitch),images/kernel_read_write/test_image_streams use_pitches CL_FILTER_LINEAR
CL_DEVICE_TYPE_CPU, Images (Kernel CL_FILTER_LINEAR max size),images/kernel_read_write/test_image_streams max_images CL_FILTER_LINEAR
# #########################################
# OpenGL/CL interaction
# #########################################
OpenCL-GL Sharing,gl/test_gl
# #########################################
# Thorough math and conversions tests
# #########################################
Select,select/test_select
#Conversions,conversions/test_conversions
Contractions,contractions/contractions
Math,math_brute_force/bruteforce -w
Integer Ops,integer_ops/test_integer_ops integer_* quick_*
Half Ops,half/Test_half -w
1 #
2 # OpenCL Conformance Test Suite (quick version)
3 # The quick version skips some long-running image tests, runs a shorter math test,
4 # and does not run the conversion test.
5 #
6 # #########################################
7 # Basic Information on the compute device
8 # #########################################
9 Compute Info,computeinfo/computeinfo
10 # #########################################
11 # Basic operation tests
12 # #########################################
13 Basic,basic/test_basic
14 API,api/test_api
15 Compiler,compiler/test_compiler
16 # #########################################
17 # Common mathematical functions
18 # #########################################
19 Common Functions,commonfns/test_commonfns
20 Geometric Functions,geometrics/test_geometrics
21 Relationals,relationals/test_relationals
22 # #########################################
23 # General operation
24 # #########################################
25 Thread Dimensions,thread_dimensions/test_thread_dimensions quick*
26 #Multiple Device/Context,multiple_device_context/test_multiples
27 Atomics,atomics/test_atomics
28 Profiling,profiling/test_profiling
29 Events,events/test_events
30 Allocations (single maximum),allocations/test_allocations single 5 all
31 Allocations (total maximum),allocations/test_allocations multiple 5 all
32 Printf,printf/test_printf
33 Device Partitioning,device_partition/test_device_partition
34 # #########################################
35 # Buffers and images
36 # #########################################
37 Buffers,buffers/test_buffers
38 Images (API Info),images/clGetInfo/test_cl_get_info
39 Images (Kernel Methods),images/kernel_image_methods/test_kernel_image_methods
40 Images (Kernel),images/kernel_read_write/test_image_streams CL_FILTER_NEAREST
41 Images (Kernel pitch),images/kernel_read_write/test_image_streams use_pitches CL_FILTER_NEAREST
42 Images (Kernel max size),images/kernel_read_write/test_image_streams max_images CL_FILTER_NEAREST
43 Images (clCopyImage),images/clCopyImage/test_cl_copy_images
44 Images (clCopyImage max size),images/clCopyImage/test_cl_copy_images max_images
45 Images (clReadWriteImage),images/clReadWriteImage/test_cl_read_write_images
46 Images (clReadWriteImage pitch),images/clReadWriteImage/test_cl_read_write_images use_pitches
47 Images (clReadWriteImage max size),images/clReadWriteImage/test_cl_read_write_images max_images
48 Images (clFillImage),images/clFillImage/test_cl_fill_images
49 Images (clFillImage pitch),images/clFillImage/test_cl_fill_images use_pitches
50 Images (clFillImage max size),images/clFillImage/test_cl_fill_images max_images
51 Images (Samplerless),images/samplerlessReads/test_samplerless_reads
52 Images (Samplerless pitch),images/samplerlessReads/test_samplerless_reads use_pitches
53 Images (Samplerless max size),images/samplerlessReads/test_samplerless_reads max_images
54 Mem (Host Flags),mem_host_flags/test_mem_host_flags
55 # #########################################
56 # Headers
57 # #########################################
58 Headers (cl_typen), headers/test_headers
59 Headers (cl.h standalone), headers/test_cl_h
60 Headers (cl_platform.h standalone), headers/test_cl_platform_h
61 Headers (cl_gl.h standalone), headers/test_cl_gl_h
62 Headers (opencl.h standalone), headers/test_opencl_h
63 # #########################################
64 # CPU is required to pass linear and normalized image filtering
65 # #########################################
66 CL_DEVICE_TYPE_CPU, Images (Kernel CL_FILTER_LINEAR),images/kernel_read_write/test_image_streams CL_FILTER_LINEAR
67 CL_DEVICE_TYPE_CPU, Images (Kernel CL_FILTER_LINEAR pitch),images/kernel_read_write/test_image_streams use_pitches CL_FILTER_LINEAR
68 CL_DEVICE_TYPE_CPU, Images (Kernel CL_FILTER_LINEAR max size),images/kernel_read_write/test_image_streams max_images CL_FILTER_LINEAR
69 # #########################################
70 # OpenGL/CL interaction
71 # #########################################
72 OpenCL-GL Sharing,gl/test_gl
73 # #########################################
74 # Thorough math and conversions tests
75 # #########################################
76 Select,select/test_select
77 #Conversions,conversions/test_conversions
78 Contractions,contractions/contractions
79 Math,math_brute_force/bruteforce -w
80 Integer Ops,integer_ops/test_integer_ops integer_* quick_*
81 Half Ops,half/Test_half -w