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



Documents pareils
Vérifier la qualité de vos applications logicielle de manière continue

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

Quantification d incertitude et Tendances en HPC

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

Initiation au HPC - Généralités

Introduction à CUDA.

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

Architecture des ordinateurs

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

JOURNEE TECHNIQUE AFIAP du 15 Mai 2014

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

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

Recherche et Formation dans un environnement de pointe. Contact:

Exigences système Edition & Imprimeries de labeur

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab

Exigences système Commercial & Digital Printing

Console de supervision en temps réel du réseau de capteurs sans fil Beanair

Exigences système Commercial & Digital Printing

Introduction au calcul parallèle avec OpenCL

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

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

Algorithmique I. Algorithmique I p.1/??

Potentiels de la technologie FPGA dans la conception des systèmes. Avantages des FPGAs pour la conception de systèmes optimisés

Tivoli Endpoint Manager Introduction IBM Corporation

Un business model d éditeur open source

Portage d applications sur le Cloud IaaS Portage d application

Exigences système Edition & Imprimeries de labeur

Architecture distribuée

Offre formation Big Data Analytics

Evolution des technologies et émergence du cloud computing Drissa HOUATRA, Orange Labs Issy

Retour d expérience en Astrophysique : utilisation du Cloud IaaS pour le traitement de données des missions spatiales

Catalogue des stages Ercom 2013

1. Développement embarqué. André KPOZEHOUE DOMAINES DE COMPETENCES CONNAISSANCES TECHNIQUES

Rapport de stage Master 2

Linux embarqué: une alternative à Windows CE?

Infrastructures Parallèles de Calcul

Architecture des calculateurs

FICHE PRODUIT 360 SPEECHMAGIC SDK

libérez votre innovation avec l extreme computing CEA/Philippe Stroppa

2007 se termine déjà, et avec l heure du bilan qualitatif et quantitatif!

WEA Un Gérant d'objets Persistants pour des environnements distribués

Filière MMIS. Modélisation Mathématique, Images et Simulation. Responsables : Stefanie Hahmann, Valérie Perrier, Zoltan Szigeti

Traitement bas-niveau

Présentation du M2 SIC : Systèmes Informatiques et Applications Marines

Master Informatique Aix-Marseille Université

Les environnements de calcul distribué

Utilisation du Cloud StratusLab dans le cadre d application astroparticule à l APC

Master Ingénierie Nucléaire Master of Science Nuclear Energy

Projet IGGI. Infrastructure pour Grappe, Grille et Intranet. Fabrice Dupros. CASCIMODOT - Novembre Systèmes et Technologies de l Information

Robot WIFIBOT Lab V3. 4 roues motrices

Diagrammes de Package, de déploiement et de composants UML

Relever les défis des véhicules autonomes

Etude d architecture de consolidation et virtualisation

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

Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU

OPTICSVALLEY AU SERVICE DE L'INSTRUMENTATION

Rapport d activité. Mathieu Souchaud Juin 2007

LA RECONNAISSANCE VOCALE INTEGREE

Guide d'installation d'esprit Version 2014 R2

Rencontre sur la thématique du Calcul Haute Performance - 13 juin Better Match, Faster Innovation

Configuration requise pour l utilisation de la plateforme EnlightKS Online Certification Management Services ET2.13 Juin 2011

SALOME l écosystème l offre de support

Architecture client riche Evolution ou révolution? Thomas Coustenoble IBM Lotus Market Manager

Robot WIFIBOT Lab V4. Lab V4.

Présentation de la Grille EGEE

DEVELOPPEMENT MOBILE - ETAT DE L ART DES SOLUTIONS

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

& collaborative workspace. the new multitouch CONNECT & SHARE COLLABORATE BETTER & DECIDE FASTER CREATE & INNOVATE SAVE & TAKE THE DATA WITH YOU

Chapitre 4: Introduction au Cloud computing

Les lières. MSc in Electronics and Information Technology Engineering. Ingénieur civil. en informatique. MSc in Architectural Engineering

Capacité étendue d utilisation en réseau

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

Note technique. Formats de compression vidéo utilisés par CamTrace V11 avantages et inconvénients.

µrv : Realité Virtuelle

Exposé de Pérennisation Comission de la Recherche 26 juin 2014

Surveillance et Detection des Anomalies. Diagnostic d une digue: rappel méthodologique

Simulation d'un examen anthropomorphique en imagerie TEMP à l iode 131 par simulation Monte Carlo GATE

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

DERNIERES AVANCEES DE LA PLATE FORME DE SIMULATION CIVA ET APPLICATIONS RECENT EVOLUTIONS OF THE CIVA SIMULATION PLATFORM AND APPLICATIONS

Évaluation et implémentation des langages

Stage Ingénieur en développement logiciel/modélisation 3D

Modélisation des interfaces matériel/logiciel

VIRTUALISATION : MYTHES & RÉALITÉS

Intérêt du découpage en sous-bandes pour l analyse spectrale

Architectures d implémentation de Click&DECiDE NSI

Introduction à la programmation des GPUs

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

Prise en compte des ressources dans les composants logiciels parallèles

GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion

Management des Systèmes d Information

Caractérisation de défauts par Magnétoscopie, Ressuage, Courants de Foucault

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Configuration système requise. pour les grandes et moyennes entreprises

Machines virtuelles Cours 1 : Introduction

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

Manage Yourself. Rapport de planification. Projet de 4ème année informatique. Equipe :

Note de veille Surveillance en continu

Séminaire RGE REIMS 17 février 2011

Transcription:

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

CEA R & D for Nuclear Energy 5 000 people Nuclear systems for the future Research on nuclear wastes New energy technologies Support to AREVA and to French Utility (EDF) Fundamental Research 2 500 people Defence Programs 6 500 people Nuclear physics, Accelerators Thermonuclear fusion (ITER) Astrophysics Climate and environmental science Chemistry and radiation-matter interactions Applying nuclear-based technologies to health Research and Technology for Industry 2 000 people LETI, LITEN, LIST Micro-technology and nanoscience Embedded systems, advanced softwares, sensors and signal processing 4 poles Health technologies : functional imagery, bio molecule 2

Le Contrôle Non Destructif Techniques non invasives pour la détection de défauts critiques dans des pièces ou structures industrielles Contrôles en fabrication ou contrôles en maintenance Concernent tous secteurs industriels à des degrés divers: Energie, aéronautique, pétrochimie, transports, sidérurgie De forts enjeux économiques + enjeux sécurité du public Des techniques variées dont les principales: Ultrasons, Méthodes électromagnétiques (courants de Foucault, flux de fuite, etc ), Radiographie X ou g Secteur dynamique en pleine évolution, forte demande de R&D 3

La Simulation des CND Principaux enjeux Conception des méthodes, design des capteurs Evaluation et qualification des méthodes «Contrôle virtuel» dès le bureau d études Aide au diagnostic, inversion Formation Développement de CIVA IHM métiers, outils CAO, visualisation 3D Analyse de données simulées ou issues d acquisition Plate-forme d intégration (partenariats académiques, plugin) Multi-techniques CND : UltraSons, Electromagnétique, rayons X. Codes en Java / C++ / Matlab OS Windows 4

CIVA Ultrasons Electromagnétisme Rayons X 5

CIVA Développement de CIVA Sorties régulières de versions intégrant la R&D récente 25 développeurs permanents: Modélisation, algorithmie, informatique 1 structure de tests et validation, et un réseau de distribution CIVA V10 144 clients répartis dans 34 pays. Industriels (Nucléaire, Transport, Pétrochimie, Métallurgie) Laboratoires, Universités Plus de 200 licences actives 100 personnes formées à CIVA en 2010 6

Intégration dans un logiciel industriel Contraintes liées à la diffusion de Civa Utilisateurs Validité des méthodes Simplicité d utilisation Matériel standard (PC Windows + GPU toute marque) Développements Code doit être : pérenne (projet démarré il y a 15 ans, version 11 en développement), maintenable, robuste. Documentation 1.5Millions de lignes de code Partage de la connaissance en équipe 7

Intégration dans un logiciel industriel Demande forte des industriels pour des calculs rapides Démocratisation des moyens matériels pour le HPC Outils logiciels (adaptation-modification du code existant) Architectures hardware CPU multi core/ many core GPU Clusters Cuda, OpenCL OpenMP, Intel tbb, Microsoft Parallel Pattern Library Calcul distribué (ProActive) Générateurs de code HMPP 8

Calcul Parallèle dans CIVA : 3 niveaux de parallélisme Travaux en cours Clusters Calculs de lots de fichiers distribués sur un serveur de calcul Multi-techniques PC Multi-coeurs Parallélisation des codes de calcul : US/EM/RX GPU Traitements et Reconstruction (US/RX) 9

Projets en cours : ITOC et OPARUS Interface Tomographique pour le CND Laboratoire Recherche Informatique Université de PARIS-SUD 11 CMAP Centre Mathématiques Appliquées de l école Polytechnique CEA LIST Intégration dans la plateforme Civa de code de calcul en tomographie X avec outils d analyse. Reconstruction sur GPU. Optimisation et Parallèlisation pour l Analyse et la Reconstruction du CND par UltraSons EADS/EDF M2M/CAPS Entreprise CEA/LIST Institut d Electronique Fondamentale Université de PARIS-SUD 11 Reconstruction rapide dans le cadre de contrôles industriels par utilisation des GPU. 10

True Cumulated View Analyse de données après simulation ou acquisition ultrasonore Reconstruction = repositionnement des échos (les défauts) dans l espace réel (la pièce) dans un but de caractérisation. Besoin de performance traiter de gros volumes de données, interactivité contrôle sur site. Thèse A. Pédron/Dir L. Lacassagne (TCV présenté PARCO 2011) 11

temps temps Principe de la reconstruction «trajet» x Capteur Déplacement Pièce z y Ascan Amplitude Bscan Défaut Bscan Vrai x Déplacement Ascans z Direction de propagation approximée par un rayon (axe focal) = trajet Vitesse de propagation connue du matériau. 12

Principe de la reconstruction «trajet» t i A(t) x i y i z i A(t i ) Donnée Trajets : non régulière! Trajet = suite de segments de droite D un tir à l autre pas de cohérence spatiale Projection sur un plan Domaine de reconstruction discrétisé en une image pixelisée A pixel = max(a pixel,a(t i )) (accumulation) 13

True Cumulated View : principe Dilatation = max sur un voisinage Ensemble des trajets = Volume de données 3D Taille voisinage dépend : Paramètres liés au contrôle Définition de l image TCV sur 3 plans 14

True Cumulated View : algorithme Algorithme 1 Pour tous les trajets Pour chaque pas de temps du signal associé au trajet t i Données Entrée Signaux temporels A(t) Trajets (x,y,z,t) Aire reconstruction : grille 2D Donnée Sortie Image en fausse couleur Calcul position (x i,y i,z i ) par interpolation sur le trajet Projection du point sur le domaine de reconstruction max(pixel,a(t i )) Dilatation Mise à jour des valeurs amplitudes des pixels de la grille = max(a(t i ), A pixel ) sur un voisinage Visualisation image amplitude 15

True Cumulated View : algorithme Algorithme 2 Pour tous les trajets Optimisation La diffusion de la valeur du max amplitude sur un voisinage peut s effectuer en post traitement. Dilatation en post-traitement global sur l image Pour chaque pas de temps du signal associé au trajet t i Calcul position (x i,y i,z i ) par interpolation sur le trajet Projection du point sur le domaine de reconstruction max(pixel,a(t i )) Dilatation = Attribution pour chaque pixel de l image du max amplitude déterminé sur un voisinage. Visualisation image amplitude 16

True Cumulated View : Implémentation CPU Différentes implémentations et Benchmarks OpenMP CPU CUDA / NVIDIA GPU Tesla OpenCL (CPU et GPU) 17

True Cumulated View : Implémentation CPU C++ et OpenMP (Visual C++ 2010) Chaque thread travaille sur un trajet à la fois et crée une image intermédiaire d amplitudes max. Puis fusion images. Pas de concurrence! Etapes Interpolation-Projection parallélisée Fusion image parallellisée et vectorisée Dilatation parallélisée Algorithmes 1 et 2(optimisé) codés. dilatation 18

True Cumulated View : Implémentation GPU Développements Cuda Toolkit 3.2 - JCuda 1. Parallélisation sur les trajets répartis sur thread GPU. PBM : concurrence lors du calcul de max sur image. => utilisation des atomics 2. Parallélisation sur les pixels de l image. Par pixel, recherche des trajets contributeurs. => tri des trajets Choix approche 1 (atomicmax Cuda) Deux versions : Algorithme 1 : Dilatation à la volée Algorithme 2 : Dilatation en post-traitement 19

True Cumulated View : Résultats test EXZ (15000 trajets, signaux 2000 échantillons = 30M points) PMF (150000 trajets, signaux 1000 échantillons = 150M points) CPU1 CPU2 algo optimisé GPU1 GPU2 algo optimisé GPU2 optim/ CPU1 GPU2 optim / CPU2 optim Temps exécution en s 20

True Cumulated View : Analyse Algorithme optimisé GPU Gain avec nouvelle génération (C2070/C1060) x2 à x5 Irrégularité par rapport aux données et paramètres : Variation de la concurrence (atomics) Localisation de la projection des trajets Taille image Accès mémoire aléatoire Exécution kernel étalement <10ms même pour filtres de grande taille CPU OpenMP Régulier par rapport aux données et aux paramètres Bon passage à l échelle Opération étalement peut être bien plus lente que sur GPU pour voisinages de grand taille. 21

True Cumulated View : Portage vers OpenCL Portage Cuda vers OpenCL de l algorithme optimisé (stagiaire M2 : Victor Barbillon) JOCL Nvidia OpenCL (Cuda Toolkit 3.2) / AMD Accelerated Parallel Processing (APP) SDK 2.4 Tests de perfomance 1. Cuda vs opencl NVIDIA C 2050 2. OpenCL GPU (NVIDIA C2050) vs OpenCL CPU (quad core 2,8GHz) Temps d exécution du kernel Files Taille Image (pixels) Kernel CUDA(ms) Kernel OpenCL (ms) 1. Ratio CUDA/OpenCL Kernel OpenCL CPU (ms) 2. Ratio CPU/GPU PMF_SV 128x115 555,59 588,73 0,94 PMF_SV 909x817 263,19 257,50 1,02 897,13 3,48 PMF_TV 128x115 134,43 146,18 0,92 PMF_TV 909x817 132,56 147,50 0,90 885,90 6,01 PMF_FV 128x115 516,93 628,71 0,82 PMF_FV 909x817 310,71 301,44 1,03 888,38 2,95 22

True Cumulated View : Portage vers OpenCL Bande passante(go/s) Comparaisons de Bandes passantes = transferts de données Host vers Device. Carte NVIDIA 2050 Cuda vs OpenCL Bande Passante 6,0000 5,0000 4,0000 3,0000 2,0000 1,0000 0,0000 0 20 40 60 80 100 120 140 160 Taille(Mo) JOCL JCUDA Temps de compilation courts (1ms) mais parfois très longs (qq centaines ms) NVIDIA GPU JOCL 23

True Cumulated View : Portage vers OpenCL BILAN Les plus Réécriture depuis Cuda facile Bonnes performances exécution kernel OpenCL vs Cuda Bonnes performance OpenCL même sur CPU (via AMD Stream SDK comparable code C OpenMP). Exécution sur plusieurs architectures (CPU/GPU) via différentes plateformes (Nvidia/AMD-ATI/Intel) constatée. Les moins Peu de docs, et d outils de développements. Bande passante plus faible sur Nvidia qu en utilisant Cuda Temps de compilation des kernels variables (et parfois longs) 24

True Cumulated View : Bilan général Accélérations obtenue importante par rapport implémentation initiale (jusqu à x100 sur CPU / x600 sur GPU) Dilatation en post-traitement (jusqu à x36 sur CPU / x25 sur GPU) CPU Bon passage à l échelle performances stables / données GPU Résultats mitigés performances très dépendantes des données. Facteur d accélération / CPU insuffisant. OpenCL Accélération max en fonction de la configuration hardware. 25

Perspectives Evaluation plus poussée d OpenCL Automatisation de l exploitation du matériel disponible Clusters hétérogènes (CPU/GPU), multi GPUs. Versions CIVA 2011 stables avec GPU - Algorithme de reconstruction en Tomographie (ITOC) - TCV sur OpenCL (OPARUS Thèse A.Pédron) Poursuite des travaux - Nouveaux algorithmes de reconstruction (US/RX) - Calcul de simulation sur GPU (OPARUS) 26