Compiling scientific code for complex memory hierarchies
Steve Carr, Ken Kennedy · 2002
The trend in high-performance microprocessor design is toward increasing computational power on the chip. At the same time, memory size is increasing but memory speed is not. The result is an imbalance between computation speed and memory speed. This imbalance is leading machine designers to use more complicated memory hierarchies. In turn, programmers are explicitly restructuring codes to perform well on particular memory systems, leading to machine-specific programs. Can we enhance our compiler technology to obviate the need for explicit programming of the memory hierarchy? The paper surveys some recent experiments with compiler techniques designed to address this problem. The results, though only preliminary, show great promise.>