News: 0001490913

  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)

Kernel Shader Variants Merged For Mesa's Rusticl OpenCL Driver

([Mesa] 14 Minutes Ago Kernel Shader Variants)


The latest Rust-written OpenCL driver " [1]Rusticl " work by Red Hat engineer Karol Herbst is support for shader variants and introducing an optimized kernel variant.

Karol explained of Rusticl's kernel shader variants effort in [2]the merge request as:

"Something I always wanted to do. This allows us to compile shader variants to get some perf optimizations going for cases like offsets being 0 and we won't have to emit pointless ALU operations."

In the commit introducing an optimized kernel variant he went on to add:

"By default we have to take into account that the application could set offsets, or that one kernel launch won't fit into a single hw dispatch.

In order to mitigate the overhead it causes at kernel runtime, and because those things are in most cases irrelevant, we compile an optimized kernel making a few assumptions.

We also make use of the the workgroup_size_hint as an additional optimization.

This should speed up relatively small kernels significantly as it can cut the instruction count in half for those."

No benchmark numbers were provided as part of the merge, but it's looking like this shader variants effort should help moving forward for this open-souce, cross-vendor OpenCL driver.

I'll try to find the time to work on some fresh Rusticl benchmarks soon. This code was merged for next quarter's Mesa 24.3 release.



[1] https://www.phoronix.com/search/Rusticl

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



phoronix

"No, I understand now," Auberon said, calm in the woods -- it was so
simple, really. "I didn't, for a long time, but I do now. You just can't
hold people, you can't own them. I mean it's only natural, a natural process
really. Meet. Love. Part. Life goes on. There was never any reason to
expect her to stay always the same -- I mean `in love,' you know." There were
those doubt-quotes of Smoky's, heavily indicated. "I don't hold a grudge. I
can't."
"You do," Grandfather Trout said. "And you don't understand."
-- Little, Big, "John Crowley"