Simulation Monte-Carlo sur GPU application en physique médicale



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

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

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

Initiation au HPC - Généralités

Modélisation et simulation

Quantification d incertitude et Tendances en HPC

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

- I - Fonctionnement d'un détecteur γ de scintillation

Les atouts et faiblesses des caméras TEP dédiées, TEP corps entier, TEP-CT, TEMP pour la quantification

Limitations of the Playstation 3 for High Performance Cluster Computing

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

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

Gestion de clusters de calcul avec Rocks

Séminaire RGE REIMS 17 février 2011

Les rayons X. Olivier Ernst

Interactions des rayonnements avec la matière

Tests de performance du matériel

Physique appliquée à l exposition externe Dosimétrie et radioprotection

Introduction à CUDA.

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

Rapport d activité. Mathieu Souchaud Juin 2007

Master première année. Mention : Statistiques et Traitement de Données «STD» Rapport de stage

UE2 CANCEROLOGIE Place de la Médecine Nucléaire

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

Architecture des calculateurs

Le contexte. Définition : la greffe. Les besoins en greffons en constante augmentation

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

Ligne Dentaire. Système Dentaire Panoramique et 3D

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

Rendu temps réel de mer et de nuages

La physique nucléaire et ses applications

Ordonnance du DFI sur les prestations dans l assurance obligatoire des soins en cas de maladie

système sécurisé de gestion du liquide

Leucémies de l enfant et de l adolescent

Sécuristation du Cloud

Guide d installation JMap 5.0

Bases physiques de l imagerie en

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

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

Précision d un résultat et calculs d incertitudes

Statistiques Canadiennes sur le Cancer, et HMR sur le poumon

AVEC LIVE TRADER, VISEZ PLUS HAUT POUR VOS INVESTISSEMENTS

Algorithmes de Transmission et de Recherche de l Information dans les Réseaux de Communication. Philippe Robert INRIA Paris-Rocquencourt

Calcul multi GPU et optimisation combinatoire

Rapport de stage Master 2

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

Évaluation (HTA) de l'imagerie 3D à faisceau conique (CBCT) pour l'imagerie dentomaxillofaciale. Emmanuel Charpentier, Anne-Florence Fay, Natalie

Tests de SlipStream sur les plateformes et : vers la. Vers la fédération du Cloud computing

SWISSTRANSPLANT. Fondation nationale suisse pour le don et la transplantation d organes. Fondée en Informations : Tel.

Autonomie et fragilités de la recherche académique Financements sur projet et reconfigurations du travail scientifique

Retour d expérience RATP. Intégrer le test de performance au cœur du processus de développement agile. Challenges, techniques, résultats.

Relever les défis des véhicules autonomes

Portage d applications sur le Cloud IaaS Portage d application

Introduction à la Visualisation Scientifique

Éditorial. Tangente ÉDUCATION. Scratch, AlgoBox, Python. Trimestriel - n 15 - janvier 2011 Numéro spécial 16 activités TICE pour le lycée

Rad4Med.be, premier acteur global dans le nucléaire médical

Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A)

PLATE-FORME DE MICROSCOPIE ÉLECTRONIQUE À TRANSMISSION

Introduction : Essais de phase I

Correction du baccalauréat ES/L Métropole 20 juin 2014

Le nouveau programme en quelques mots :

Windows 7 - Installation du client

Règles et paramètres d'exploitation de Caparmor 2 au 11/12/2009. Pôle de Calcul Intensif pour la mer, 11 Decembre 2009

- MANIP 2 - APPLICATION À LA MESURE DE LA VITESSE DE LA LUMIÈRE

Contributions à l expérimentation sur les systèmes distribués de grande taille

Outils d évaluations de la simulation en équipe: Évaluation de performance en formation interprofessionnelle. Martina ESDAILE SFAR 19 septembre 2012

Infrastructures Parallèles de Calcul

Des ondes ultrasonores pour explorer le corps humain : l échographie

Cours 7 : Utilisation de modules sous python

Tout ce que vous avez toujours voulu savoir sur la scintigraphie osseuse et le TEP-SCAN

EN Télécom & Réseau S Utiliser VMWARE

PACK ADSL WIFI. Configurer ma connexion ADSL avec Modem/Routeur Sagem 1400W

Les impacts cachés des TIC. Quels enjeux et quelles actions concrètes?

LD-P PRINCIPE ECHANTILLON. Coffret référence REVISION ANNUELLE Date. Date APPLICATION

Structure de base d un ordinateur

Décidezvous. Sinon, vos proches devront le faire pour vous. Informations sur le don d organes, de tissus et de cellules en cas de décès.

PHY113 : Cours de Radioactivité

NEXTDB Implémentation d un SGBD Open Source

Médecine Nucléaire : PET-scan et imagerie hybride

Happy birthday ZSet High performance computing dans ZSet

Etude d architecture de consolidation et virtualisation

Simulation : application au système bonus-malus en responsabilité civile automobile

Le but de la radioprotection est d empêcher ou de réduire les LES PRINCIPES DE LA RADIOPROTECTION

ParallelKnoppix. Majid Hameed. Copyright 2005 Majid Hameed. Copyright 2005 Gauthier Savart. Copyright 2005 Joëlle Cornavin

Introduction à l Informatique licence 1 ère année Notes de Cours

16 Chapitre 16. Autour des générateurs pseudoaléatoires

Sébastien Geiger IPHC Strasbourg

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

AIDE-MÉMOIRE LA THERMOCHIMIE TABLE DES MATIERES

Aspects juridiques de la transplantation hépatique. Pr. Ass. F. Ait boughima Médecin Légiste CHU Ibn Sina, Rabat

Chapitre 11: Réactions nucléaires, radioactivité et fission

Recommandations techniques

SIGAMM/CRIMSON COMMISSION UTILISATEUR du 05/12/2014

Équivalence masse-énergie

Champ électromagnétique?

et de suivi de la corpulence des enfants

Systèmes et traitement parallèles

Transcription:

Simulation Monte-Carlo sur GPU application en physique médicale école d été GPU, 1 er Juillet 2011 Gipsa Lab Julien Bert Laboratoire du Traitement de l Information Médicale LaTIM - INSERM U650 CHU Brest, France

Plan Introduction Simulation Monte-Carlo Application en physique médicale Pourquoi GPGPU? Monte-Carlo sur GPU Structure de donnée Structure de la simulation Détails sur l implémentation Radiographie X du thorax Simulation Résultats Multi-GPU Conclusion 2

Simulation Monte-Carlo 1940 - Recherche et fabrication de la bombe atomique au Los Alamos (Nouveau Mexique) John von Neumann, Stanislaw Ulam et Nicholas Metropolis Simulation numérique en physique des particules transport : déplacement des particules dans la matière (interactions) Interactions particule/matière sont des processus aléatoires méthode d échantillonnage statistique aléatoire Clin d oeil à Monte-Carlo (casino) emblème du jeux de hasard 3

Simulation Monte-Carlo Interaction des particules avec la matière 4

Simulation Monte-Carlo Interaction des particules avec la matière 1. Vol de la particule 5

Simulation Monte-Carlo Interaction des particules avec la matière 1. Vol de la particule 2. Type d interaction 6

Simulation Monte-Carlo Interaction des particules avec la matière 1. Vol de la particule 2. Type d interaction 3. Interaction 7

Simulation Monte-Carlo Interaction des particules avec la matière 8

Simulation Monte-Carlo MC : «random walking» La statistique doit suivre la physique Prendre en compte : - le type de particule - l énergie de la particule - le matériau traversé -... 9

Simulation Monte-Carlo http://www.laradioactivite.com La grandeur physique reliée à la probabilité d interaction d une particule pour une réaction donnée est la section efficace. Utilisation de tables de sections efficaces Echantillonnage aléatoire + section efficace : - distance de vol de la particule - type d interaction Section efficace Echantillonnage aléatoire 10 Moyenne

Application en physique médicale!" Diagnostique et thérapie par les particules! $#! "#!" http://www.jens-langner.de Lamare et al., Phys. Med. Biol., 2006 Jan et al., Phys. Med. Biol., 2011 Tomographie d émission - Simuler / reconstruire - Corriger (diffusion) Tomographie d émission - Construire - Optimiser Radiothérapie - Simuler - Planifier/Contrôler 11

Pourquoi GPGPU?! Loi des grands nombres = f( 1 N ) La simulation Monte-Carlo n est pas utilisée en routine clinique La précision dépend du nombre de particules simulé Cluster d ordinateur - investissement - maintenance - encombrement - disponibilité - fonctionnement Impossible dans un environnement clinique 12

Pourquoi GPGPU?! Carte graphique : - facilité d achat (pc conventionnel) - faible cout (achat et fonctionnement) - encombrement un pc = 4 GPU (GTX 590) - pas de maintenance - mise en service facile Projet ANR hgate Hybrid GEANT4 Application pour la Tomographie d Emission Faisabilité d une simulation MC sur GPU?? ANR-09-COSI-004 débuté en février 2010 (36 mois) LaTIM, CPPM, IPHC, CREATIS, IMNC, SHFJ Projet de recherche fondamental 13

Plan Introduction Simulation Monte-Carlo Application en physique médicale Pourquoi GPGPU? Monte-Carlo sur GPU Structure de donnée Structure de la simulation Détails sur l implémentation Radiographie X du thorax Simulation Résultats Multi-GPU Conclusion 14

Structure de donnée Particules E E E E E E E dx dx dx dx dx dx dx..................... Structure de type SoA (structure of array) accès contigu = optimisé Structure d un stack - énergie (E) - direction (dx, dy, dz) - position (px, py, pz) - état du générateur de nombre aléatoire (seed) - particule en vie? (live) - particule dans le volume? (in) 35 octets/particule, grille de 10 millions : 350 Mo CPU CPU GPU 15

Structure de la simulation!"#"$%&'#( )%*+,%&'#( -#."$%/&'#( Génération: - charger les particules dans le stack en fonction de la source Navigation: - calculer la distance de vol de la particule (SE) - déplacer la particule jusqu à la prochaine interaction (volume voxélisé) Interaction: - déterminer l effet physique (SE) - appliquer l effet sur la particule (diffusion, absorption) Extraction: - les particules qui sortent de l espace de travail sont enregistrées dans un fichier espace de phase. 01.$%/&'#( 23%4"( 45%/"( Eléments récurrents dans la simulation Générateur de nombres pseudo-aléatoires Effets physiques 16

Structure de la simulation!"#"$%&'#( )%*+,%&'#( -#."$%/&'#( Génération: - charge/recharge les particules dans le stack en fonction de la source Navigation: - calcul le vol de la particule dans l espace voxélisé (CS) - vérifie si la particule est toujours dans l espace de travail Interaction: - détermine l effet physique (CS) - applique l effet sur la particule (diffusion, absorption) Extraction: - les particules qui sortent de l espace de travail sont enregistrées dans un fichier espace de phase. 01.$%/&'#( 23%4"( 45%/"( Eléments récurrents dans la simulation Générateur de nombres pseudo-aléatoires Effets physiques 17

Générateur de nombres pseudo-aléatoires Type de générateur - congruentiel linéaire - longue période > 2 64 - générer des valeurs une à une Park-Miller et Marsaglia-Zaman Seed 1 Seed 2 Seed 0 (initial) Random Random Random valeur valeur valeur Chaque particule doit avoir la valeur du seed courant en mémoire 18

Les effets physiques Calcul des sections efficaces - table par effet physique et par élément atomique - les tables sont chargées en mémoire texturée - pré-calcul des indexes d accès en Z (mémoire constante) 19

Les effets physiques Calcul des sections efficaces - calcul de la section efficace d un matériau donné pour une énergie E eau air corps poumon côte vertèbre coeur intestin sein rate sang foie rein cerveau pancréas 20

Navigation!"#"$%&'#( Navigation : déplacer la particule à l intérieur de l espace voxélisé jusqu à la prochaine interaction. )%*+,%&'#( -#."$%/&'#( 01.$%/&'#( 23%4"( 45%/"( Distance de vol de la particule : - lecture du matériau (position de la particule) - calcul de la section efficace La distance de vol l est calculée en fonction d un nombre aléatoire ξ et de la somme des sections efficaces du matériau traversé par la particule d énergie E. Raytracing : - environnement voxélisé (mémoire texturée) - mettre à jours le vol de la particule en fonction des matériaux traversés 21

Interaction!"#"$%&'#( Choisir l interaction : - aléatoirement via les sections efficaces )%*+,%&'#(! "#!" -#."$%/&'#( 01.$%/&'#( 23%4"( 45%/"(!" Rayleigh Compton Interactions : - photoélectrique (absorption) - Rayleigh (angle de diffusion) - Compton (angle de diffusion + énergie)!"! "# Photoélectrique Mise à jours de la particule (quaternion) 22

Plan Introduction Simulation Monte-Carlo Application en physique médicale Pourquoi GPGPU? Monte-Carlo sur GPU Structure de donnée Structure de la simulation Détails sur l implémentation Radiographie X du thorax Simulation Résultats Multi-GPU Conclusion 23

Radiographie X du thorax Le patient est un fantôme : - 10 matériaux (indexés) - voxel de 4 mm 3 - volume de 128x46x63 voxels - tumeur poumon droit C22 Fantôme (thorax) T10 C35 24

Radiographie X du thorax L examen : - de dos (incidence postéro-antérieure) - distance source - patient 1 m 80 - source isotrope avec colimateur - photon - espace voxélisé 128x46x450 voxels Simulation : - effet Compton et photo-électrique (pas de Rayleigh) - tire à 40 kev, 100 kev et 200 kev - nombre de particules entre 100.10 3 et 10.10 6 Détection : - PAS DE DETECTEUR - raytracing de l espace de phase sur un plan 25

Radiographie X du thorax Résultats : - pour 10 millions de particules : version GPU cuda 5,04 s (GTX 280-240 SP - 1.296 GHz - 933 GFLOPS) version CPU C 315,00 s x62,5 (2,83 GHz) des heures en minutes version Geant4 C++ 3023,00 s x599 10.10 6 40 kev 100.10 3 100 kev 500.10 3 100 kev 1.10 6 100 kev 10.10 6 100 kev 10.10 6 200 kev 26

Plan Introduction Simulation Monte-Carlo Application en physique médicale Pourquoi GPGPU? Monte-Carlo sur GPU Structure de donnée Structure de la simulation Détails sur l implémentation Radiographie X du thorax Simulation Résultats Multi-GPU Conclusion 27

Multi-GPU Stratégie Multi-CPU/GPU : - 1 CPU / n GPU, thread OS - 1 CPU / 1 GPU, thread matériel Multi-threading CPU CPU CPU CPU CPU MPI (Message Passing Interface) CUDA GPU GPU GPU GPU GPU GPU GPU GPU CUDA «soft thread» «hard thread»!! Scalabilité!! capacité du soft à être utilisé sur un système plus grand (mise à l échelle) 28

Multi-GPU CPU Noeud maître MPI Réseau Ethernet (répertoire partagé) CPU CPU CPU CPU CPU CPU CPU CPU CUDA GPU GPU GPU GPU GPU GPU GPU GPU Noeud 1 Noeud 2... Noeud i Cluster CPU/GPU 29

Multi-GPU Côté CPU : Côté GPU : Compilation : nvcc -c files.cu --compiler-options -fpic nvcc -o file.so -shared files.o mpic++ -c main.cpp mpic++ -o main main.o file.so Exécution : mpirun -np 2./main CPU CPU Résultats : 1 CPU (10.10 6 ) 315,00 s 1 CPU/GPU (10.10 6 / GPU) 6,34 s x49,6 2 CPU/GPU (5.10 6 / GPU) 3,90 s x80,7 x1,62 30 GPU GPU 2x GTX 280 Disque dur

Conclusion Multi-GPU : - gain en vitesse - apporte de nouveaux problèmes/limitations - retour à l optimisation GPU Simulation MC (vitesse d'exécution x60) : solution GPU solution classique (low cost) 1 PC 1 000 10 PC 10 000 1 GPU (>240 SP) 150 10 CPU (6 coeurs) 1 700 1 150 11 700 Etude de faisabilité = ok x10 6,00 4,50 3,00 1,50 0 1 2 3 4 5 6 Théorique Multi-GPU MC sur GPU : x60 optimiser le code - MC, code typique GPGPU (divergence, beaucoup d accès en mémoire) - «stream sorting» diminuer la divergence - copie asynchrone, optimiser le rapport CPU/GPU - contraintes non réductible ex.: lecture de tables 31

Questions? 32