Calcul de très grands systèmes en DFTB

Documents pareils
Architecture des ordinateurs

Initiation au HPC - Généralités

Simulations de systèmes quantiques fortement corrélés:

Architecture des calculateurs

Infrastructures Parallèles de Calcul

Gestion de clusters de calcul avec Rocks

Limitations of the Playstation 3 for High Performance Cluster Computing

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I

T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet 5

Communications performantes par passage de message entre machines virtuelles co-hébergées

Quantification d incertitude et Tendances en HPC

CAHIER DES CHARGES D IMPLANTATION

Journée Utiliateurs Nouvelles du Pôle ID (Informatique) Pierre Neyron, LIG/CNRS

Hétérogénéité pour atteindre une consommation énergétique proportionnelle dans les clouds

Rapport 2014 et demande pour Portage de Méso-NH sur Machines Massivement Parallèles du GENCI Projet 2015 : GENCI GEN1605 & CALMIP-P0121

Les environnements de calcul distribué

Eléments d architecture des machines parallèles et distribuées

Valorisation et diffusion des logiciels de chimie quantique

<Insert Picture Here> Exadata Storage Server et DB Machine V2

Happy birthday ZSet High performance computing dans ZSet

//////////////////////////////////////////////////////////////////// Administration bases de données

Segmentation d'images à l'aide d'agents sociaux : applications GPU

Ordonnancement sous contraintes de Qualité de Service dans les Clouds

Evaluation des performances de programmes parallèles haut niveau à base de squelettes algorithmiques

Équilibrage Dynamique de Charge pour des Calculs Parallèles sur Cluster Linux - Une Évaluation de l Environnement AMPI.

Protection des données avec les solutions de stockage NETGEAR

Maarch Framework 3 - Maarch. Tests de charge. Professional Services. 11, bd du Sud Est Nanterre

Les mésocentres HPC àportée de clic des utilisateurs industriels

Tout ce que vous avez toujours voulu savoir sur SAP HANA. Sans avoir jamais osé le demander

<Insert Picture Here> Solaris pour la base de donnés Oracle

IT SERVICES BUSINESS STORAGE DATA AUDIT PARTNERSHIP INTEGRATOR SECURITY PLANNING PRIVATE AGILITY DYNAMIC PUBLIC TECHNOLOGY SOLUTIONS MANAGEMENT

Guide de Tarification. Introduction Licence FD Entreprise Forfaits clé en main SaaS SaaS Dédié SaaS Partagé. Page 2 Page 3 Page 4 Page 5 Page 8

Migration d un Cluster Fiber Channel+SAN+Lames sous Xen vers Ethernet +iscsi+serveurs sous KVM

Retour d expérience, portage de code Promes dans le cadre de l appel à projets CAPS-GENCI

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

Evaluation des performances de programmes parallèles haut niveau à base de squelettes

Outil d aide au choix Serveurs Lot 4 Marché Groupement de Recherche

Introduction à la Programmation Parallèle: MPI

Exigences système BauBit pro

Présentation Infrastructure DATACENTRE

Architecture des Ordinateurs. Partie II:

Gamme Serveurs HP ProLiant Rack

Tests de performance du matériel

Big Data. Cyril Amsellem Consultant avant-vente. 16 juin Talend

Projet Active Object

Calcul Haute Performance & Données

Génération de code binaire pour application multimedia : une approche au vol

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013

Intérêt des codes FEC pour le stockage distribué Le projet ANR FEC4Cloud et la solution RozoFS

Une nouvelle génération de serveur

VNX MCx. Multicore Everything. Livre blanc

Choix d'un serveur. Choix 1 : HP ProLiant DL380 G7 Base - Xeon E GHz

Modélisation prédictive et incertitudes. P. Pernot. Laboratoire de Chimie Physique, CNRS/U-PSUD, Orsay

StruxureWare Power Monitoring v7.0. La nouvelle génération en matière de logiciel de gestion complète d énergie

Introduction aux algorithmes MapReduce. Mathieu Dumoulin (GRAAL), 14 Février 2014

Détection d'intrusions en environnement haute performance

Évaluation et implémentation des langages

Chapitre 1. Infrastructures distribuées : cluster, grilles et cloud. Grid and Cloud Computing

ESXi: Occupation RAM avec VM_Windows et VM_Linux. R. Babel, A. Ouadahi April 10, 2011

THÈSE. pour obtenir le grade de. Spécialité : "Informatique : Systèmes et Communications"

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

LIVRET D INFORMATION. Livret d information des utilisateurs des ressources GENCI dans les centres nationaux

Le projet Gaïa, le Big Data au service du traitement de données satellitaires CRIP - 16/10/2013 Pierre-Marie Brunet

Prérequis réseau constructeurs

Windows Server Chapitre 1: Découvrir Windows Server 2008

Cluster de calcul Freeware en Océanographie Opérationnelle

Programmation parallèle et distribuée

Forward! 3.0. Antony Vo, Architecte Infrastructure SI, Unisys

Contrôle Non Destructif : Implantation d'algorithmes sur GPU et multi-coeurs. Gilles Rougeron CEA/LIST Département Imagerie Simulation et Contrôle

Etude d Algorithmes Parallèles de Data Mining

POSSEDEZ VOTRE SERVEUR WEB DES MAINTENANT!

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

Contribution à la conception à base de composants logiciels d applications scientifiques parallèles.

3 ème journée des utilisateurs de l archivage

Structure de base d un ordinateur

Exigences système Edition & Imprimeries de labeur

Déploiement d un serveur courriel dédié pour entreprise

LXC : Une technologie de contextualisation ultra light intégrée au kernel Linux

Rapport d activité. Mathieu Souchaud Juin 2007

Serveurs et solutions PowerEdge pour les applications métiers

Pourquoi superviser?

LIVRET D INFORMATION. Livret d information des utilisateurs des ressources GENCI dans les centres nationaux

White paper. le data center. avec bullion

CUOMO PC Route d Oron Lausanne 021/

Configurations maximales

Cours de Génie Logiciel

Spécifications détaillées

Maîtriser les technologies Big Data pour obtenir des résultats en quasi-temps réel

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

Virtualisation sous Linux L'age de raison. Daniel Veillard

Hyper-V et SC Virtual Machine Manager sous Windows Server 2008 R2

Les opportunités du modèle de Cloud Computing. Fabrice Dubosc

en version SAN ou NAS

VIRTUALISATION : MYTHES & RÉALITÉS

TRANSFORM IT + BUSINESS + YOURSELF

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Chapitre 4: Introduction au Cloud computing

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

Sanity Check. bgcolor mgcolor fgcolor

Transcription:

Calcul de très grands systèmes en DFTB Anthony Scemama <scemama@irsamc.ups-tlse.fr> Mathias Rapacioli Labratoire de Chimie et Physique Quantiques IRSAMC (Toulouse) Nicolas Renon CALMIP (Toulouse)

HPC pour la Chimie Approches standard: Approches quantiques pour les molécules: O(N³) - O(N!) Méthodes semi-empiriques : méthodes quantiques paramétrées O(N³) Mécanique Moléculaire : méthodes Newtoniennes paramétrées, O(N²) Traitement de gros systèmes (millions d'atomes): Pour toute méthode, il faut réduire le scaling : linear scaling (O(N)). Les interactions électron-électron, électron-noyau et noyau-noyau sont locales, donc l'ordre N est envisageable Le travail présenté ici: DFTB (Density Functional Tight Binding) : approche semi-empirique de la DFT (théorie de la fonctionnelle de la densité). Code demon-nano. Développement d'une méthode de calcul O(N) et implémentation OpenMP Résultats jusqu'à 1.5 millions d'atomes sur 376 cores 1

Point de départ Travail antérieur (QMC=Chem, 2011) : Produit de matrice dense x creux pour des petites matrices reglé à la main pour les processeurs Intel 100% des instructions sont vectorielles dans les boucles chaudes (pas de peel/tail loops) Memory-bound : on fait O(N²) accès mémoire et O(N²) Flops Jusqu'à 60% de la performance crête sur un coeur Sandy Bridge 2

Algorithme Hartree-Fock ou DFT: résolution autocohérente de HC = ESC où H dépend de C. À chaque cycle il faut diagonaliser H. Préconditionnement de la matrice à diagonaliser par des produits de matrices creuses Produit de 2 matrices creuses: succession de petits produits dense x creux Diagonalisation partielle de H par une méthode Jacobi approchée La méthode converge bien vers les bons vecteurs/valeurs propres (voir résultats numériques à la fin). 3

Implémentation Pourquoi OpenMP? La DFTB est une méthode paramétrée donc le calcul des matrices est très rapide. Une approche MPI aurait un rapport communication/calcul trop élevé Avec notre algorithme, il y aurait beaucoup de communications collectives de type one-to-all ou all-to-one Il est toujours possible d'utiliser le parallélisme massif en distribuant des calculs indépendants (Monte Carlo, dynamique, etc) Problèmes principaux Calcul: O(N³) -> O(N), Stockage: O(N²) -> O(N) Memory-bound Implémentation optimisée, donc peu de Flops et très dépendant des latences mémoire 4

Latences mémoire Sur un bi-processeur Intel Xeon E5-2670 @ 2.6 GHz (SandyBridge): 1 cycle CPU: 0.38 ns Au maximum 16 flops/cycle (SP), donc 1 flop ~ 0.024 ns L1 : 1.2 ns (3-4 cycles) L2 : 3.6 ns (9-10 cycles) L3 : 16 ns (42 cycles) RAM : 86 / 155 ns (224-403 cycles) Lecture sequentielle des données : la latence est masquée par les prefetchers hardware 5

Latences mémoire Sur Altix-UV : 24 blades bi-processeurs Intel Xeon E7-8837 @ 2.67 GHz (Westmere EX): 1 cycle CPU: 0.37 ns Au maximum 8 flops/cycle (SP), donc 1 flop ~ 0.047 ns L1 : 1.5 ns (4 cycles) L2 : 3.7 ns (10 cycles) L3 : 16 ns (43 cycles) RAM : 195 / 228 / 570 / 670 / 760 / 875 / 957 ns (520-2555 cycles) Le prefetch hardware fonctionne entre blades: communications asynchrones gérées par le matériel Infiniband : 1200 ns (3204 cycles) 6

Stratégie Objectif : Amener les données le plus vite possible sur les coeurs Placement des processus et politique d'allocation de mémoire : numactl Chaque processeur utilise le plus possible de la mémoire proche : allocations et initialisation des tableaux dans les blocs OpenMP Utilisation au maximum d'accès réguliers à la mémoire (stride 1) pour déclencher les prefetchers Réutiliser le plus possible les données qui sont dans les caches Synchroniser les threads le moins souvent possible Scheduling statique si possible pour garder l'accès local à la mémoire ou dynamique dans les cas de mauvais équilibrage 7

Résultats 8

Nb molécules 368 736 1472 2208 E(Lapack) -1499.3316349-2998.7423717-5997.7826799-8996.7819247 E -1499.3316348-2998.7423714-5997.7826792-8996.7819236 Erreur 8.7e-11 1.0e-10 1.1e-10 1.2e-10 t(lapack) 106.6 806.4 6525.1 22710.1 t 8.0 19.9 53.0 91.2 E(Lapack) -1499.3316896-2998.7425125-5997.7829696-8996.7823133 E -1499.3316896-2998.7425125-5997.7829696-8996.7823133 Erreur < 3.3e-12 < 1.7e-12 3.3e-12 2.2e-12 t(lapack) 116.3 886.1 6840.8 25010.4 t 11.4 30.2 85.0 155.8 9

Bi-processeur Intel Xeon E5-2670 @ 2.6 GHz (SandyBridge), 64 GB RAM 10

SGI Altix UV : 24 blades bi-processeurs Intel Xeon E7-8837 @ 2.67 GHz (Westmere EX), 3TB RAM 11

12

13

Comparaison avec une implémentation MPI Code CP2K, utilisant une bibliothèque d'algèbre linaire creuse MPI: Linear Scaling Self-Consistent Field Calculations with Millions of Atoms in the Condensed Phase Joost VandeVondele, Urban Borštnik, and Jürg Hutter Journal of Chemical Theory and Computation 8 (10), 3565-3573 (2012) 14

15