I'm trying to initialize OpenCL 2.0 on AMD Fury X and I'm looking at the value of __OPENCL_VERSION__. It is 120 no matter what. I'm looking inside my driver and both #define __OPENCL_VERSION__ 120 and #define __OPENCL_VERSION__ 200 can be found there.
Does there need to be a special flag somewhere to enable version 2.0? I have the following platform and device:
OpenCL platform 'AMD Accelerated Parallel Processing' by Advanced Micro Devices, Inc., version OpenCL 2.0 AMD-APP (1912.5), FULL_PROFILE
device: Advanced Micro Devices, Inc. 'Fiji' (driver version: 1912.5 (VM))
OpenCL version: OpenCL 2.0 AMD-APP (1912.5)
OpenCL "C" version: OpenCL C 2.0
EDIT
Ah, silly. It seems to help to specify -cl-std=CL2.0 in the compiler options in clCreateProgramWithSource. Is that supposed to be the expected behavior?