-
Visualizing GL_NV_shader_sm_builtins
February 13, 2020
GL_NV_shader_sm_builtins is no longer in the Nvidia beta-driver-jail, and can allow shaders to access the index of the physical Streaming multi-processor and warp that a particular compute kernel dispatch is executing upon. My laptop has a Nidia GTX 1650 Max-Q which features the TU117 Turing-architecture chip. Image from anandtech.com Here’s a deeper dive into the Turing Streaming-Multiprocessors From the Nvidia Turing Architecture Whitepaper The GTX 1650 is a special-case implementation of the Turing architecture that does not implement the “True Turing” video encoding engine or any of the new Tensor Cores or Ray Tracing Cores, but the SM is generally the same, save for the absense of the die-space that these non-essential features would have taken up. …
-
Online Compilers and __cpuid
February 12, 2020
Here is some very minimal code I wrote that gets your (x86) processor’s brand name using the cpuid instruction. #include <cpuid.h> #include <cstdio> #include <cstdint> int main() { uint32_t Name[4]; for( uint32_t i = 2; i < 5; ) { __cpuid(0x80000000 | i++, Name[0], Name[1], Name[2], Name[3]); fwrite(Name, 16, 1, stdout); } } main: push rbp mov ebp, 2 push rbx sub rsp, 24 .L2: mov eax, ebp mov esi, 16 add ebp, 1 mov rdi, rsp or eax, -2147483648 >>>> cpuid mov DWORD PTR [rsp+8], ecx mov rcx, QWORD PTR stdout[rip] mov DWORD PTR [rsp+12], edx mov edx, 1 mov DWORD PTR [rsp], eax mov DWORD PTR [rsp+4], ebx call fwrite cmp ebp, 5 jne .L2 add rsp, 24 xor eax, eax pop rbx pop rbp ret Sample one-liner output: …
-
Buttery Smooth "10fps"
February 9, 2020
The GIF (/ɡɪf/ GHIF) file is unfortunately the most popular and widespread form of exchanging animated content across the internet. Oh crap here’s one now A Pokémon I 3D modeled and animated called Shuppet, in 50fps When I am making animations, with the intent of ultimately becoming a GIF file on the internet, I pretty much always target 50 fps. 50fps is currently the highest and most compatible frame rate supported by most modern browsers such as Chrome and Firefox. Currently(Sun 09 Feb 2020 09:01:05 AM PST) these are some of the maximum frame rate GIFs that some key software and browser engines support to my knowledge. I’ll try my best at keeping this updated, but based on some of the bug tracker replies I’ve been seeing, these values probably aren’t going to be changing any time soon. …
-
First Post!
February 8, 2020
This is my first post! I hope to write a lot more here. After messing with with Hugo and GitHub pages, I got a good WYSIWYG-loop going on so I can actually write and talk to myself and you about big fast algorithms outside of lengthy README.md files on github. Here you’ll find a lot of low-level stuff(SIMD, Reverse Engineering, HPC), computer graphics(I loooove Vulkan), and maybe the occasional programming trick-or-treat or animation/art-work or two. …