{ "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" }