Running the OpenCL test on AMD's ROCm platform results in
pystencils_tests/test_opencl.py::test_without_cuda /usr/lib/python3/dist-packages/pyopencl/cffi_cl.py:1516: CompilerWarning: Built kernel retrieved from cache. Original from-source build had warnings: Build on <pyopencl.Device 'gfx900' on 'AMD Accelerated Parallel Processing' at 0x34f0f50> succeeded, but said: In file included from /tmp/comgr-1f94f8/input/CompileCLSource:1: ./pystencils/pystencils/include/opencl_stdint.h:4:27: warning: redefinition of typedef 'uint' is a C11 feature typedef unsigned int uint; ^ /data/jenkins_workspace/compute-rocm-rel-2.9/out/ubuntu-16.04/16.04/srctf/ocl_lc/drivers/opencl/library/amdgcn/headers/build/lnx64a/B_rel/<stdin>:52:22: note: previous definition is here typedef unsigned int uint;
According to the specification, the
uint type is part of the OpenCL C builtin types (and has been since version 1.0), so this typedef is not needed. In Nvidia's OpenCL stack, it appears to be built into the compiler, while LLVM (and thus AMD) define it in a header file.