KhronosGroup / KhronosGroup/OpenCL-CTS
Look into removing the volatile qualifier from conversions test
- Dominant language
- C++
- Stars
- 232
- Forks
- 235
- Avg merge
- 8d 7h
- Merged PRs (30d)
- 18
Description
int/uint to float host side reference code currently uses volatile qualifier to prevent clang optimizations which cause the test to fail. eg:
static void int2float( void *out, void *in)
{
// Use volatile to prevent optimization by Clang compiler
volatile cl_int l = ((cl_int *)in)[0];
}
This qualifier appears at several places in the code. Research the problem at a deeper level and propose a solution that does not involve the use of 'volatile'.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the conversions test's host-side int/uint-to-float reference functions and all uses of the volatile qualifier. Reproduce the Clang optimization failure, then investigate a solution that removes volatile while preserving correct reference results; done means the conversions test passes without those qualifiers.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers, testing-qa
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100