OpenCL-CTS
OpenCL-CTS copied to clipboard
Image expectations problem
Attempting to update my CTS to include #1616 leads to some bizarre image expectations.
Here is one of the failures I'm seeing in images/kernel_read_write for CL_FLOAT images:
[CL_RG CL_FLOAT 2] - CL_FILTER_LINEAR - CL_ADDRESS_CLAMP - NORMALIZED
FAILED norm_offsets: -0:
Sample 0: coord {-0.007285(-0x1.dd72a6p-8)} did not validate!
Expected (0,0,0,1.0625),
got (0,0,0,1), error of 0
img size 652 (pitch 5216)
Step by step:
Filter denormalizes x to -4.750000, 0.000000, 0.000000 (<-0.007285, 0.000000, 0.000000> * <652.000000, 1.000000, 1.000000>)
Actual integer coords used (i = floor(x-.5)): i0:{ -1, 0 } and i1:{ -1, 0 }
Array coordinate is 0.000000
Sampled pixels (rgba order):
p00: 0.000000, 0.000000, 0.000000, 1.000000
p01: 0.000000, 0.000000, 0.000000, 1.000000
p10: 0.000000, 0.000000, 0.000000, 1.000000
p11: 0.000000, 0.000000, 0.000000, 1.000000
frac( x - 0.5f ) = 0.750000, frac( y - 0.5f ) = 0.500000
ulps: 0.00, 0.00, 0.00, -524288.00 (max allowed: 65538.00)
FAILED: [CL_RG CL_FLOAT 2] - CL_FILTER_LINEAR - CL_ADDRESS_CLAMP - NORMALIZED
The A channel for the expectation seems wrong. Am I misinterpreting this message?
6.15.15.7. Mapping image channels to color values returned by read_image and color values passed to write_image to image channels says that when reading from a CL_RG format, the result value is: (r, g, 0.0, 1.0)
...How did that happen??
Can you give me a log with all the failures?
Here's the rest of the failures for that particular invocation (1D CL_FLOAT kernel_read_write).
There were also failures with other image types/format. And failures in clFillImage tests too.
What platform? What compile flags?
The failures are primarily in the linear case, which means that something is going wrong averaging the pixels.
What platform? What compile flags?
Also, exactly what make and model of CPU are you running this on? I sure hope it's not an erratum...
What platform? What compile flags?
Also, exactly what make and model of CPU are you running this on? I sure hope it's not an erratum...
@alan-baker Please respond soon. I'd like to fix this sooner rather than later, since it's apparently broken the tests.
I don't have the exact cpu model, but it should be a skylake architecture. Fails in both -O1 and -O3 builds. Platform is Linux. No other compiler flags of note.
So there were a few broken shuffles and an add to a wrong vector that gave the broken results you saw. These should be fixed in #1642. Are there any other broken results that might have been caused by my change? I can't find any.
Hi. I notice some compilation errors on Intel Compiler which we use for compilation on Windows. Fix is introduced here #1652. After fixing compilation issues I noticed errors in my results of images tests on Windows (Intel Compiler) and Linux (GNU compiler). The tests were run on Coffee Lake (gen9 platform) and on Tiger Lake (gen11) Linux errors: -- The C compiler identification is GNU 9.3.0 -- The CXX compiler identification is GNU 9.3.0
test_image_streams CL_FILTER_NEAREST CL_DEVICE_TYPE_GPU test_image_streams max_images CL_FILTER_NEAREST CL_DEVICE_TYPE_GPU test_image_streams test_mipmaps CL_FILTER_NEAREST CL_DEVICE_TYPE_GPU test_image_streams use_pitches CL_FILTER_NEAREST CL_DEVICE_TYPE_GPU test_image_streams read 1D small_images NORMALIZED CL_FILTER_NEAREST CL_DEVICE_TYPE_GPU test_image_streams read 2D small_images use_pitches NORMALIZED CL_FILTER_NEAREST CL_DEVICE_TYPE_GPU test_image_streams read 3D small_images NORMALIZED CL_FILTER_NEAREST CL_DEVICE_TYPE_GPU
Windows errors: Intel C++ Compiler 2021.8.0.20221119 test_image_streams use_pitches CL_FILTER_NEAREST CL_DEVICE_TYPE_GPU test_cl_fill_images CL_DEVICE_TYPE_GPU test_cl_fill_images max_images CL_DEVICE_TYPE_GPU test_cl_fill_images use_pitches CL_DEVICE_TYPE_GPU
@gwawiork do you have all of the other fixes from #1642? I'm trying to figure out if these are known failures or new failures. Thanks!
@gwawiork do you have all of the other fixes from #1642? I'm trying to figure out if these are known failures or new failures. Thanks!
Yes I've rebuild binaries with these fixes.