High-performance optimizations on tiled many-core embedded systems: a matrix multiplication case study

Arslan Munir, Farinaz Koushanfar, Ann Gordon-Ross, Sanjay Ranka
2013 Journal of Supercomputing  
Technological advancements in the silicon industry, as predicted by Moore's law, have resulted in an increasing number of processor cores on a single chip, giving rise to multicore, and subsequently many-core architectures. This work focuses on identifying key architecture and software optimizations to attain high performance from tiled many-core architectures (TMAs)-an architectural innovation in the multicore technology. Although embedded systems design is traditionally powercentric, there
more » ... been a recent shift toward high-performance embedded computing due to the proliferation of compute-intensive embedded applications. The TMAs are suitable for these embedded applications due to low-power design features in many of these TMAs. We discuss the performance optimizations on a single tile (processor core) as well as parallel performance optimizations, such as application decomposition, cache locality, tile locality, memory balancing, and horizontal communication for TMAs. We elaborate compiler-based optimizations that are applicable to 432 A. Munir et al. TMAs, such as function inlining, loop unrolling, and feedback-based optimizations. We present a case study with optimized dense matrix multiplication algorithms for Tilera's TILEPro64 to experimentally demonstrate the performance and performance per watt optimizations on TMAs. Our results quantify the effectiveness of algorithmic choices, cache blocking, compiler optimizations, and horizontal communication in attaining high performance and performance per watt on TMAs.
doi:10.1007/s11227-013-0916-9 fatcat:wi7tizdsdvhuhd2fwxxai65iem