The Intel Mesa Driver Has Gotten Faster Since Switching To NIR
Eduardo Lima of Igalia spoke this weekend at FOSDEM about the work done over the past year on switching the Mesa Intel i965 back-end to using the NIR intermediate representation.
The presentation by this developer covered GLSL IR vs. NIR, the Intel shader pipeline, what NIR is all about, and more. NIR is the new Mesa intermediate representation that was initially designed by a high school student. Besides Intel's interest in NIR, Freedreno and VC4 Gallium3D drivers have also been actively interested in this IR.
Results cited by Eduardo indicate that there's a conservative 5~10% improvement in performance with NIR compared to the Intel driver's old vec4_visitor code-path. Besides the speed gain, switching to NIR has allowed for a simplified Intel driver back-end, better consistency across code-paths, and more simplicity and maintainability of the driver.
Moving forward, leveraging NIR will make it easier to write new optimization passes and everything is already setup for going from SPIR-V to NIR, which is needed for Vulkan and future OpenCL revisions.
If you are interested in learning about NIR, you can find Eduardo's PDF slides from his presentation this weekend in Brussels.
The presentation by this developer covered GLSL IR vs. NIR, the Intel shader pipeline, what NIR is all about, and more. NIR is the new Mesa intermediate representation that was initially designed by a high school student. Besides Intel's interest in NIR, Freedreno and VC4 Gallium3D drivers have also been actively interested in this IR.
Results cited by Eduardo indicate that there's a conservative 5~10% improvement in performance with NIR compared to the Intel driver's old vec4_visitor code-path. Besides the speed gain, switching to NIR has allowed for a simplified Intel driver back-end, better consistency across code-paths, and more simplicity and maintainability of the driver.
Moving forward, leveraging NIR will make it easier to write new optimization passes and everything is already setup for going from SPIR-V to NIR, which is needed for Vulkan and future OpenCL revisions.
If you are interested in learning about NIR, you can find Eduardo's PDF slides from his presentation this weekend in Brussels.
4 Comments