You should be fascinated hitting the power button on your computer.
Every boot on an x86 machine iterates through the entire sequence of computing evolution in a few milliseconds:
Stage 1:
16-bit Real Mode, acts like an 8086 from ~1978. 500ns (ish); about 15-30 instructions. Goal of this stage is to create a writeable stack+heap.
Stage 2:
32-bit Protected Mode, acts like a 386 from ~1985. Tens of millions of instructions; takes forever on DDR5 /w memory training. Temporarily uses L2/L3 “cache-as-ram” to kickstart main ram (Intel calls this NEM).
Stage 3:
64-bit Long Mode, acts like AMD64 from ~2003. Hundreds of millions of instructions; enumerate pcie devices, gpu, bootloader, etc.
Stage 4+:
Secondary core wakeup. Every *single* core has to go through the same process, but by this point it’s faster because Main RAM is warmed up.
Stage 2 is just so neat man. Quite literally the same concept as an APU/cart start. Use the smaller motor (L2/L3) to kickstart the main turbine (Main Ram) and execute the training process.
Is that not just the coolest thing? Next time I’m annoyed waiting at the DDR5 training process, I’m going to imagine it’s spinning up SR71 turbines.
modern microarchitecture is soooooo advanced and complicated.
like what do you mean high cache miss counts may not cause performance degradation because of memory level parallelism.
the trick to balancing multiple projects is starting with just one and building enough momentum in that project before adding the new one. and the loop repeats.
of course, the direct relationship between input time and energy, and output quality work remains. fundamental law of productivity xD.
i always thought xcode was unnecessary bloat, only good for developing apple-ecosystem centric software. but i am starting to see it's platform-agnostic benefits for building strong mental models after pairing it up with instruments (suite of perf tools).
Sequel for my H100 blog is out now.
We implement Blackwell matmul for NVFP4 from scratch, and outperform cuBLAS by 4.7% at N=8192.
This time we have something better than Hilbert curves - that exact-fits for the Nvidia hardware.
Full blog post with all details:
https://t.co/l6OgCMmOmJ
Assembly> Wow, this is so much easier than machine code, everyone will program this
C> Wow, this so so much better than assembly, everyone will program
Unity> Wow, this so much easier, everyone is going to make games
Agents> Wow, this is much easier, everyone will make their won SaaS, Game, whatever!
Cue Dr. Evil "Right..." meme