Hi there. Yesterday I am happy to see the SDK3.0 beta is finally released, and I cannot wait installing it with Omega driver to enjoy OpenCL 2.0 features introduced and highlighted many times by AMD. I got some points from using it for a while.
1) it's obvious that CPU is not supported with any OpenCL 2.0 features yet, because the clinfo still reports OpenCL C 1.2. As I find on this forum, CPU will be supported 2.0 features in the future definitely.
2) I am not quite sure about how to correctly use the feature of fine-grained Shared Virtual Memory (SVM). Because the Coarse-grained SVM seems to be the same as the previous buffers, so the fine-grained SVM seems more interesting. Is it supported on Kaveri APU now? and how to use it?
3) AS I see from the "AMD Accelerated Parallel Processing OpenCL Optimization Guide" page21, table 1.1, different memory areas are still differentiated by visible to CPU or visible to GPU on Kaveri APU platform. I doubt it is necessary because the memory is unified completely now. What's the concern here?
I am still new in this, wish someone can help me make these doubts more clear. Thanks!
We are really happy to see you happy.
1) Yes you are right. Current driver does not support OpenCL 2.0 on AMD CPUs.
2) Right now, fine grained SVM with atomics is only supported on AMD Kaveri APU on Linux 64-bit OS.
To understand the usage of fine grained SVM, you may check the following SDK samples: SVMAtomicsBinaryTreeInsert, FineGrainSVM, FineGrainSVMCAS
3) As mention in this thread Updated AMD OpenCL user’s guide – provide your feedback, we are in the process of updating the user guide and optimization guide. We have updated the optimization guide with relevant updates within the scope of this SDK release. Content of that table has not been updated and does not consider new feature like SVM.