News: 0001552390

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Intel Iris Linux Driver Lands Shared Virtual Memory Support

([Intel] 2 Hours Ago Intel SVM)


In late May the Rust-written "Rusticl" OpenCL driver within Mesa [1]landed support for Shared Virtual Memory (SVM). Following that, the Intel Iris Gallium3D driver has now seen its support merged for SVM.

The Rusticl SVM code introduced last month implements cl_ext_buffer_device_address, the Shared Virtual Memory requirements by Shared Virtual Memory for OpenCL 2.0+, and then preps for the Intel cl_intel_unified_shared_memory extension that is needed by some SYCL implementations. OpenCL SVM allows for sharing of pointers and pointer-containing data structures easily between host and device code. OpenCL SVM also provides memory model consistency guarantees for greater coherency.

OpenCL SVM has been around for many years now while this was a big feature for Rusticl to land and took quite a bit of work. Following the Rusticl SVM support, the Intel Iris changes for Shared Virtual Memory were merged on Tuesday for Mesa 25.2. With this the OpenCL 2.0 coarse grain buffer Shared Virtual Memory support with the Iris driver is considered completed.

[2]This merge by Red Hat engineer Karol Herbst puts the pieces into place for SVM with the Intel Iris driver. Intel already was supporting Shared Virtual Memory with their Compute Runtime stack while nice seeing these complementary improvements being made to the Intel Iris driver.

Iris joins the Nouveau NVC0 and LLVMpipe drivers as the only other Mesa drivers at the moment with SVM support. There is also [3]this merge request pending for RadeonSI SVM support so the AMD Radeon support will hopefully not be too far behind.

Karol Herbst has also been working on Rusticl fine-grained buffer SVM with [4]this pending pull request .



[1] https://www.phoronix.com/news/Rusticl-SVM-Merged-Mesa-25.2

[2] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35174

[3] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35175

[4] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35375



phoronix

To code the impossible code, This is my quest --
To bring up a virgin machine, To debug that code,
To pop out of endless recursion, No matter how hopeless,
To grok what appears on the screen, No matter the load,
To write those routines
To right the unrightable bug, Without question or pause,
To endlessly twiddle and thrash, To be willing to hack FORTRAN IV
To mount the unmountable magtape, For a heavenly cause.
To stop the unstoppable crash! And I know if I'll only be true
To this glorious quest,
And the queue will be better for this, That my code will run CUSPy and calm,
That one man, scorned and When it's put to the test.
destined to lose,
Still strove with his last allocation
To scrap the unscrappable kludge!
-- To "The Impossible Dream", from Man of La Mancha