Illuminating the processor core with LLVM-mca
1–6 of 6 posts
Re: Illuminating the processor core with LLVM-mca
#2Also nicely demonstrated in godbolt's currently ongoing Advent of compiler optimizations series.
Re: Illuminating the processor core with LLVM-mca
#3This is interesting if quite incomplete (as noted in the end conclusion). CPU re-order buffers turn what you think as mostly sequential execution into a massively parallel engine. Data memory access, perfecting, speculative execution, etc. But if you are running a micro-bencmark with a tight loop of millions of iterations, then understanding the pipeline dependencies and dispatching can provide good insights.
Re: Illuminating the processor core with LLVM-mca
#4Too bad they don't support LC-3 or DLX. More my level lol. So begins another deep dive side quest with the chatbot into a tool I didn't even know existed.
Re: Illuminating the processor core with LLVM-mca
#5Wouldn't LLVM adjust the models if it is beneficial to its code generation, even if the result less accurately reflects the processor? (I think GCC does that.)
Re: Illuminating the processor core with LLVM-mca
#6This is interesting if quite incomplete (as noted in the end conclusion). CPU re-order buffers turn what you think as mostly sequential execution into a massively parallel engine. Data memory access, perfecting, speculative execution, etc. But if you are running a micro-bencmark with a tight loop of millions of iterations, then understanding the pipeline dependencies and dispatching can provide good insights.
Yep. Cache is always the wildcard.