Skip to content

OpenCL 3.1 CTS#2690

Open
bashbaug wants to merge 4 commits into
mainfrom
opencl-3.1
Open

OpenCL 3.1 CTS#2690
bashbaug wants to merge 4 commits into
mainfrom
opencl-3.1

Conversation

@bashbaug
Copy link
Copy Markdown
Contributor

This PR adds tests for OpenCL 3.1.

Copy link
Copy Markdown
Contributor

@franz franz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've been testing with PoCL, and there is one place that still needs patching:

diff --git a/test_conformance/basic/test_enqueued_local_size.cpp b/test_conformance/basic/test_enqueued_local_size.cpp
index 685982d1..2563fb47 100644
--- a/test_conformance/basic/test_enqueued_local_size.cpp
+++ b/test_conformance/basic/test_enqueued_local_size.cpp
@@ -102,7 +102,7 @@ REGISTER_TEST_VERSION(enqueued_local_size, Version(2, 0))
     test_error(err, "clCreateBuffer failed.");
 
     std::string cl_std = "-cl-std=CL";
-    cl_std += (get_device_cl_version(device) == Version(3, 0)) ? "3.0" : "2.0";
+    cl_std += (get_device_cl_version(device) >= Version(3, 0)) ? "3.0" : "2.0";
     err = create_single_kernel_helper(
         context, &program[0], &kernel[0], 1, &enqueued_local_size_1d_code,
         "test_enqueued_local_size_1d", cl_std.c_str());

Also, I've noticed that the test for event-complete-is-sync-point is missing - is that intentional ?

@bashbaug
Copy link
Copy Markdown
Contributor Author

Also, I've noticed that the test for event-complete-is-sync-point is missing - is that intentional ?

Yes, this is intentional, see: KhronosGroup/OpenCL-Docs#1558

@bashbaug
Copy link
Copy Markdown
Contributor Author

and there is one place that still needs patching

Thanks! Fixed by ea26359.

@karolherbst
Copy link
Copy Markdown
Contributor

@bashbaug brought that up in the past that __OPENCL_C_VERSION__ wasn't checked and I confirmed that the CTS actually does not verify it's set to the proper version. So when compiling against -cl-std=3.1, the CTS does not verify that __OPENCL_C_VERSION__ is set to 310 and happily accepts 300.

I also noticed that CL_VERSION_3_1 is not checked as well and has the wrong number inside the OpenCL C docs:

CL_VERSION_3_1
Substitutes the integer 301 reflecting the OpenCL 3.1 version. Requires support for OpenCL C 3.1 or newer.

@bashbaug
Copy link
Copy Markdown
Contributor Author

bashbaug commented Jun 4, 2026

__OPENCL_C_VERSION__ wasn't checked

Yeah, I filed #2670 to track this.

has the wrong number inside the OpenCL C docs

Eek. Yes, this should obviously be 310, not 301. Probably best to file an OpenCL-Docs issue to track this.

@karolherbst
Copy link
Copy Markdown
Contributor

has the wrong number inside the OpenCL C docs

Eek. Yes, this should obviously be 310, not 301. Probably best to file an OpenCL-Docs issue to track this.

KhronosGroup/OpenCL-Docs#1568

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants