Achieving high-performance with a sparse direct solver on Intel KNL
Solveur creux direct haute-performance sur Intel KNL
Résumé
The need for energy-efficient high-end systems has led hardware vendors to design new types of chips for general purpose computing. However, designing or porting a code tailored for these new types of processing units is often considered as a major hurdle for their broad adoption. In this paper, we consider a modern Intel Xeon Phi processor, namely the Intel Knights Landing (KNL) and a numerical code initially designed for a classical multi-core system. More precisely, we consider the qr_mumps scientific library implementing a sparse direct method on top of the StarPU runtime system. We show that with a portable programming model (task-based programming), a good software support (a robust runtime system coupled with an efficient scheduler) and some well defined hardware and software settings, we are able to transparently run the exact same numerical code. This code not only achieves very high performance (up to 1 TFlop/s) on the KNL but also significantly outperforms a modern Intel Xeon multi-core processor both in terms of time to solution and energy efficiency up to a factor of 2.0.
Le besoin de systèmes haut-de-gamme efficaces d'un point de vue énergétique apoussé les fabricants à mettre au point de nouvelles puces. Cependant, mettre aupoint ou porter un code adapté pour ces nouveaux types d'unités de calcul estsouvent considéré comme une limitation majeure à leur large adoption. Dans cepapier, nous considérons un processeur Intel Xeon Phi moderne, précisémentl'Intel Knights Landing (KNL), et un code numérique initialement mis au pointpour les machines multi-coeurs. Plus précisément, nous considérons labibliothèque scientifique qr_mumps implémentant une méthode directe creuse au dessusdu moteur d'exécution StarPU. Nous montrons qu'avec un modèle de programmationportable (programmation à base de tâches), un bon support logiciel (un moteurd'exécution à base de tâches robuste couplé avec un ordonnanceur efficace) etdes paramètres matériel et système bien déterminés, nous sommes capables detourner exactement le même code numérique de manière transparente. Non seulementce code atteint une très haute performance (jusqu'à 1 TFlop/s) sur le KNL maisde surcroît il surpasse significativement un processeur multi-coeur standardà la fois en termes de temps de résolution que d'efficacité énergétique jusqu'àun facteur 2.0.
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...