
Karol Herbst posted to Mastodon on Friday:
"Soo.. I think I've implemented SVM in rusticl properly and the supported drivers are iris (Intel), radeonsi (AMD) and llvmpipe (CPU).
This also means you can have a context with Intel and AMD GPUs in them and SVM works properly across them all.
Which also means this is the first OpenCL implementation supporting SVM across vendors? Are there any others?
Just need to clean up that mess and merge it tho."
As of writing the Mesa merge request has yet to be opened, but in any event the SVM prospects for Rusticl are very exciting and especially that can work across GPUs/drivers.
Shared Virtual Memory with OpenCL allows for sharing between the host and device side of an OpenCL application with pointers and pointer-containing data structures now working seamlessly. SVM was a mandate with OpenCL 2.0 and originally one of the pain points for the NVIDIA driver stack. In addition to the shared virtual address space there are a number of other features opened up by SVM support around atomics / synchronization and more.
Exciting to see this SVM support coming for Rusticl and we'll see if it manages to land in time for the Mesa 25.0 release this quarter.