From 409413a169399373a5b8e1f6fb24094071a4835f Mon Sep 17 00:00:00 2001 From: Ed_ Date: Mon, 27 Jul 2026 02:04:50 -0400 Subject: [PATCH] docs(twitter): add 1597798161665253376 corpus (NOTimothyLottes explicit packed 16-bit GLSL + FSR1) 7-post thread with @rianflo, Nov 2022. Confirms NOTimothyLottes wrote CAS/FSR1/etc GLSL versions with packed 16-bit math by hand. 'Explicit packed 16-bit works on AMD VK Vega and up. Up to 30% improvement on ALU bound stuff. Lots of occupancy wins.' Constants all packed and aliased as UINT (no conversion overheads). FSR1 source has 'F' (32-bit) and 'H' and 'Hx2' (packed 16-bit) function variants. Sibling to the Nov 2022 GPU tip-line thread (1588906002212323328). --- docs/twitter/1597798161665253376/thread.md | 46 +++++++ .../1597798161665253376/thread_data.json | 118 ++++++++++++++++++ 2 files changed, 164 insertions(+) create mode 100644 docs/twitter/1597798161665253376/thread.md create mode 100644 docs/twitter/1597798161665253376/thread_data.json diff --git a/docs/twitter/1597798161665253376/thread.md b/docs/twitter/1597798161665253376/thread.md new file mode 100644 index 00000000..0acae814 --- /dev/null +++ b/docs/twitter/1597798161665253376/thread.md @@ -0,0 +1,46 @@ +--- +title: "@rianflo Explicit packed 16-bit code. FSR1 example: https://github.com/GPUOpen-E" +author: "NOTimothyLottes" +handle: "@NOTimothyLottes" +post_url: "https://x.com/NOTimothyLottes/status/1597798161665253376" +post_id: "1597798161665253376" +timestamp: "2022-11-30 03:42:22" +post_count: 7 +reply_count: 0 +repost_count: 0 +like_count: 1 +view_count: 0 +--- + +# @NOTimothyLottes — @rianflo Explicit packed 16-bit code. FSR1 example: https://github.com/GPUOpen-E + +## Post 1 (2022-11-29 18:38:24) + +"The road to 16-bit floats GPU is paved with our blood" +:-/ + +https://www.yosoygames.com.ar/wp/2022/01/the-road-to-16-bit-floats-gpu-is-paved-with-our-blood/ + +## Post 2 (2022-11-29 22:19:53) — reply to Post 1 + +@rianflo Explicit packed 16-bit works on AMD Vulkan Vega and up. I typically get up to 30% improvement on ALU bound stuff. Lots of occupancy wins. I don't use {HLSL, RenderDoc, Reflection, RADV, or VS/PS}. All constants are packed and aliased as UINT, so no coversion overheads. + +## Post 3 (2022-11-29 22:24:24) — reply to Post 2 + +@NOTimothyLottes Oh I know the benefits. Just no simple clear way to write it in GLSL for vulkan. + +## Post 4 (2022-11-29 22:26:03) — reply to Post 3 + +@rianflo Sure there is. CAS/FSR1/etc all shipped with fantastic GLSL versions using 16-bit packed math (I wrote those), all which at the time got fantastic code generation using AMD's drivers. + +## Post 5 (2022-11-29 22:32:10) — reply to Post 4 + +@NOTimothyLottes What GLSL extension did you use? + +## Post 6 (2022-11-29 22:33:35) — reply to Post 5 + +@NOTimothyLottes Oh wait, you're saying you wrote the fp16 math manually? + +## Post 7 (2022-11-30 03:42:22) — reply to Post 6 + +@rianflo Explicit packed 16-bit code. FSR1 example: https://github.com/GPUOpen-Effects/FidelityFX-FSR/blob/master/ffx-fsr/ffx_fsr1.h - There are different 'F' (32-bit) and 'H' and 'Hx2' (packed 16-bit) functions. diff --git a/docs/twitter/1597798161665253376/thread_data.json b/docs/twitter/1597798161665253376/thread_data.json new file mode 100644 index 00000000..4fd22717 --- /dev/null +++ b/docs/twitter/1597798161665253376/thread_data.json @@ -0,0 +1,118 @@ +{ + "root_post_id": "1597798161665253376", + "posts": [ + { + "post_id": "1597661267845865474", + "author": "Florian Hoenig", + "handle": "rianflo", + "text": "\"The road to 16-bit floats GPU is paved with our blood\"\n:-/\n\nhttps://www.yosoygames.com.ar/wp/2022/01/the-road-to-16-bit-floats-gpu-is-paved-with-our-blood/", + "timestamp": "2022-11-29 18:38:24", + "media_urls": [], + "reply_to_id": null, + "quote_of_id": null, + "metrics": { + "reply_count": 1, + "repost_count": 0, + "like_count": 4, + "view_count": 0 + } + }, + { + "post_id": "1597717009369735169", + "author": "NOTimothyLottes", + "handle": "NOTimothyLottes", + "text": "@rianflo Explicit packed 16-bit works on AMD Vulkan Vega and up. I typically get up to 30% improvement on ALU bound stuff. Lots of occupancy wins. I don't use {HLSL, RenderDoc, Reflection, RADV, or VS/PS}. All constants are packed and aliased as UINT, so no coversion overheads.", + "timestamp": "2022-11-29 22:19:53", + "media_urls": [], + "reply_to_id": "1597661267845865474", + "quote_of_id": null, + "metrics": { + "reply_count": 1, + "repost_count": 0, + "like_count": 1, + "view_count": 0 + } + }, + { + "post_id": "1597718146663690240", + "author": "Florian Hoenig", + "handle": "rianflo", + "text": "@NOTimothyLottes Oh I know the benefits. Just no simple clear way to write it in GLSL for vulkan.", + "timestamp": "2022-11-29 22:24:24", + "media_urls": [], + "reply_to_id": "1597717009369735169", + "quote_of_id": null, + "metrics": { + "reply_count": 1, + "repost_count": 0, + "like_count": 0, + "view_count": 0 + } + }, + { + "post_id": "1597718560511385600", + "author": "NOTimothyLottes", + "handle": "NOTimothyLottes", + "text": "@rianflo Sure there is. CAS/FSR1/etc all shipped with fantastic GLSL versions using 16-bit packed math (I wrote those), all which at the time got fantastic code generation using AMD's drivers.", + "timestamp": "2022-11-29 22:26:03", + "media_urls": [], + "reply_to_id": "1597718146663690240", + "quote_of_id": null, + "metrics": { + "reply_count": 1, + "repost_count": 0, + "like_count": 0, + "view_count": 0 + } + }, + { + "post_id": "1597720097753542656", + "author": "Florian Hoenig", + "handle": "rianflo", + "text": "@NOTimothyLottes What GLSL extension did you use?", + "timestamp": "2022-11-29 22:32:10", + "media_urls": [], + "reply_to_id": "1597718560511385600", + "quote_of_id": null, + "metrics": { + "reply_count": 2, + "repost_count": 0, + "like_count": 0, + "view_count": 0 + } + }, + { + "post_id": "1597720454000541696", + "author": "Florian Hoenig", + "handle": "rianflo", + "text": "@NOTimothyLottes Oh wait, you're saying you wrote the fp16 math manually?", + "timestamp": "2022-11-29 22:33:35", + "media_urls": [], + "reply_to_id": "1597720097753542656", + "quote_of_id": null, + "metrics": { + "reply_count": 1, + "repost_count": 0, + "like_count": 0, + "view_count": 0 + } + }, + { + "post_id": "1597798161665253376", + "author": "NOTimothyLottes", + "handle": "NOTimothyLottes", + "text": "@rianflo Explicit packed 16-bit code. FSR1 example: https://github.com/GPUOpen-Effects/FidelityFX-FSR/blob/master/ffx-fsr/ffx_fsr1.h - There are different 'F' (32-bit) and 'H' and 'Hx2' (packed 16-bit) functions.", + "timestamp": "2022-11-30 03:42:22", + "media_urls": [], + "reply_to_id": "1597720454000541696", + "quote_of_id": null, + "metrics": { + "reply_count": 0, + "repost_count": 0, + "like_count": 1, + "view_count": 0 + } + } + ], + "source_url": "https://x.com/NOTimothyLottes/status/1597798161665253376" +} \ No newline at end of file