In our line of work, performing low-level performance optimization, the compiler is less of a language abstraction and more of a tool to directly interact with. Compilers are complex machines. Correctly converting C++-like code to assembly instructions is a gigantic challenge, producing optimized instructions even more so. It is therefore no surprise that the compiler itself may contain bugs. When interacting with the compiler at a low level you tend to run into such bugs.
In this article we’ll have a look what to do when running into a compiler bug: when to start suspecting the compiler, how to confirm your suspicions, and how to report the bug.
Continue reading “When to blame the compiler: an NVCC case study”








This series “
