News: 0001609702

  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)

Vulkan 1.4.342 Published With Cooperative Matrix Conversion Extension

([Vulkan] 58 Minutes Ago Vulkan 1.4.342)


Following last week's Vulkan spec updates that brought [1]descriptor heaps and other notable new extensions and [2]the Vulkan Roadmap 2026 Milestone , Vulkan 1.4.342 was published this morning as the latest routine spec update plus one new extension.

Vulkan 1.4.342 brings just a few fixes/clarifications to the existing documentation that aren't too notable but does come with one new extension: VK_QCOM_cooperative_matrix_conversion.

The Qualcomm vendor extension VK_QCOM_cooperative_matrix_conversion adds support for new SPIR-V shader instructions to allow loading and storing a cooperative matrix without needing to stage through shared memory and to allow bit-casting arrays, per the extension text. The new SPIR-V instructions around this support are within SPV_QCOM_cooperative_matrix_conversion. For GLSL shaders the GLSL_QCOM_cooperative_matrix_conversion specification is also available for cooperative matrix conversion there.

Qualcomm's problem statement that yielded this VK_QCOM_cooperative_matrix_conversion extension describes the shortcomings they found with the existing Cooperative Matrix extension:

"The baseline Cooperative Matrix extension achieves great performance boost for simple matrix multiplication operations when data is loaded to and from memory.

However, most use cases which leverage matrix multiplication hardware, such as Convolution and Large Language Models, require additional manipulation of input and output data which the opaque cooperative matrix objects do not support directly.

The cooperative matrix extension explicitly requires staging data through shared memory to perform these invocation-level manipulation operations. An extension is needed that allows implementations to create optimized data conversions between the invocation and subgroup scope without explicitly going through shared memory."

More details for those interested via [3]this Vulkan Docs commit .



[1] https://www.phoronix.com/news/Vulkan-1.4.340-Descriptor-Heap

[2] https://www.phoronix.com/news/Vulkan-Roadmap-2026

[3] https://github.com/KhronosGroup/Vulkan-Docs/commit/98b6c43a7672a68cdf2e3225b29577165c584fbf



Unobfuscated Perl (#2)

A rogue group of Perl hackers has presented a plan to add a "use
really_goddamn_strict" pragma that would enforce readability and
UNobfuscation. With this pragma in force, the Perl compiler might say:

* Warning: Write-only code detected between lines 612 and 734. While this
code is perfectly legal, you won't have any clue what it does in two
weeks. I recommend you start over.

* Warning: Code at line 1,024 is indistinguishable from line noise or the
output of /dev/random

* Warning: Have you ever properly indented a piece of code in your entire
life? Evidently not.

* Warning: I think you can come up with a more descriptive variable name than
"foo" at line 1,523.

* Warning: Programmer attempting to re-invent the wheel at line 2,231.
There's a function that does the exact same thing on CPAN -- and it
actually works.