Is driver version meant to be locale-sensitive

Is driver version meant to be locale-sensitive

Hi

I develop a library that does autotuning of kernels in advance. I've discovered that the value of CL_DRIVER_VERSION is dependent on the current locale, which is problematic because I use the driver version as part of the key when looking up tuning parameters, and so an application running under a different locale will think that it is using a different driver version and needs re-tuning. For example, the CL_DRIVER_VERSION is 1.2.0.76921 in the C locale, but 1.2.0.76,921 in the en_GB.UTF-8 locale. This is on Linux.

Thanks

Bruce

5 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi,

I couldn't reproduce it so far. I tried 'export LANG=en_GB.UTF-8'. Could you please provide additional details - OS version, necessary environment variables?

Thanks,
Yuri

I've attached a program that demonstrates the issue. I'm running it on Ubuntu 13.10 64-bit. The output of "locale" when I run it is

LANG=en_GB.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC=en_GB.UTF-8
LC_TIME=en_GB.UTF-8
LC_COLLATE=C
LC_MONETARY=en_ZA.UTF-8
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER=en_ZA.UTF-8
LC_NAME=en_ZA.UTF-8
LC_ADDRESS=en_ZA.UTF-8
LC_TELEPHONE=en_ZA.UTF-8
LC_MEASUREMENT=en_GB.UTF-8
LC_IDENTIFICATION=en_ZA.UTF-8
LC_ALL=

The output when I run it is

Device name:         Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
Driver version: 1.2.0.76,921

If I comment out the first line of main() (so that the program is not locale-aware), it outputs:

Device name:         Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
Driver version: 1.2.0.76921

i.e. no comma.

 

Attachments: 

AttachmentSize
Downloadtext/x-c++src locale-test.cpp497 bytes

Yes, now it's reproduced. I will submit a ticket for it

Thanks,
Yuri

This issue will be fixed in our next release.

Thanks, Yariv

Leave a Comment

Please sign in to add a comment. Not a member? Join today