Fine tuning matrix multiplications on multicore

Stéphane Zuckerman, Marc Pérache, William Jalby · 2008

Abstract. Multicore systems are becoming ubiquituous in scientific computing. As performance libraries are adapted to such systems, the difficulty to extract the best performance out of them is quite high. Indeed, performance libraries such as Intel’s MKL, while performing very well on unicore architectures, see their behaviour degrade when used on multicore systems. Moreover, even multicore systems show wide differences among each other (presence of shared caches, memory bandwidth, etc.) We propose a systematic method to improve the parallel execution of matrix multiplication, through the study of the behavior of unicore DGEMM kernels in MKL, as well as various other criteria. We show that our fine-tuning can out-perform Intel’s parallel DGEMM of MKL, with performance gains sometimes up to a factor of two.

Read the paper · More papers on PaperTik