Panfrost Making Use Of The Gallium3D I/O Vectorization For Better Performance
At the end of May I wrote about Intel's Iris Gallium3D driver achieving performance optimizations with new NIR I/O vectorization functionality. The open-source Arm Mali "Panfrost" Gallium3D driver has now wired into this code too for better performance.
The Intel Iris gains with this I/O vectorization were 1~9% with Skylake GT4e graphics. Thanks to this code being implemented in the Mesa NIR state tracker, it's just left up to the Gallium3D drivers to do a bit more for this vectorization pass after other optimizations are complete.
Lead Panfrost driver developer, Alyssa Rosenzweig - who just joined Collabora - wired in this I/O vectorization support for Panfrost.
She wrote, "This uses the new mesa/st functionality for NIR I/O vectorization, which eliminates a number of corner cases (resulting in assorted dEQP failures and regressions) and should improve performance substantial due to lessened pressure on the load/store pipe."
This functionality is in Git for Mesa 19.2.
The Intel Iris gains with this I/O vectorization were 1~9% with Skylake GT4e graphics. Thanks to this code being implemented in the Mesa NIR state tracker, it's just left up to the Gallium3D drivers to do a bit more for this vectorization pass after other optimizations are complete.
Lead Panfrost driver developer, Alyssa Rosenzweig - who just joined Collabora - wired in this I/O vectorization support for Panfrost.
She wrote, "This uses the new mesa/st functionality for NIR I/O vectorization, which eliminates a number of corner cases (resulting in assorted dEQP failures and regressions) and should improve performance substantial due to lessened pressure on the load/store pipe."
This functionality is in Git for Mesa 19.2.
7 Comments