What every scientific programmer should know about compiler optimizations?
Jialiang Tan, Shuyin Jiao, Milind Chabbi, Xu Liu
Abstract
Compilers are an indispensable component in the software stack. Besides generating machine code, compilers perform multiple optimizations to improve code performance. Typically, scientific programmers treat compilers as a blackbox and expect them to optimize code thoroughly. However, optimizing compilers are not performance panacea. They can miss optimization opportunities or even introduce inefficiencies that are not in the source code. There is a lack of tool infrastructures and datasets that can provide such a study to help understand compiler optimizations.
Topics & Concepts
CompilerComputer scienceProgrammerProgramming languageCode generationOptimizing compilerCode (set theory)Source codeParallel computingOperating systemSet (abstract data type)Key (lock)Parallel Computing and Optimization TechniquesCloud Computing and Resource ManagementDistributed and Parallel Computing Systems