I've been working on adding OpenCL support to our code generator (GitHub - genn-team/genn: GeNN is a GPU-enhanced Neuronal Network simulation environment based on cod... ) and the generated code is now working on NVIDIA and Intel devices but, on AMD devices, it is failing rather mysteriously.
I have reduced the attached on-GPU initialization code to a minimal reproduction case. If the printf in the kernel is commented out, then initializeKernel correctly initializes d_xPost and it is displayed correctly. If not nans are printed.
We have reproduced this issue on an iMac with the following clinfo:
Platform Name Apple
Platform Vendor Apple
Platform Version OpenCL 1.2 (Apr 18 2019 20:03:31)
Device Name AMD Radeon Pro 570 Compute Engine
Device Vendor AMD
Device Vendor ID 0x1021c00
Device Version OpenCL 1.2
Driver Version 1.2 (Jan 23 2020 07:52:24)
And a Windows machine with 3004.8 drivers and a RX 580.
Am I doing something stupid or is this a compiler bug? If so any workarounds would be much appreciated.
Thanks in advance for your help
Thank you for reporting it and providing the reproducible test-case. I've whitelisted you and moved this post to OpenCL forum.
It looks like a new driver (Adrenalin 20.5.1) is available for Windows10. Could you please try it once and share your observation?
By the way, I ran the above code on my laptop with Adrenalin 20.5.1, but could not reproduce the issue.
For any OpenCL issue on Mac, please contact Apple support team.
Thanks,
Thank you for the prompt response - newer drivers do indeed seem to solve these issues on Windows! I have posted in the Apple developer forums, but not yet received any response - you wouldn't happen to have any ideas of a better means of contacting Apple OpenCL support?
Thank you for this update.
Regarding your query related to Apple OpenCL support, I think, you have already posted in the right place. If you don't get any response, please check if there is any other option to directly submit a bug report against this issue.
Thanks.