KhronosGroup / KhronosGroup/OpenCL-CTS

Look into removing the volatile qualifier from conversions test

Open
#1,405 2 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.