{"id":2544,"date":"2017-01-26T09:06:18","date_gmt":"2017-01-26T08:06:18","guid":{"rendered":"http:\/\/wp.unil.ch\/geoblog\/?p=2544"},"modified":"2018-07-19T13:41:20","modified_gmt":"2018-07-19T11:41:20","slug":"development-of-massively-parallel-near-peak-performance-solvers-for-three-dimensional-geodynamic-modelling","status":"publish","type":"post","link":"https:\/\/wp.unil.ch\/geoblog\/2017\/01\/development-of-massively-parallel-near-peak-performance-solvers-for-three-dimensional-geodynamic-modelling\/","title":{"rendered":"Development of Massively Parallel Near Peak Performance Solvers\u00a0for Three-Dimensional Geodynamic Modelling"},"content":{"rendered":"<p><em>Th\u00e8se soutenue par Samuel Omlin, le 26 janvier 2017, Institut des sciences de la Terre (ISTE)<\/em><\/p>\n<p>Acad\u00e9mie et industrie n&rsquo;ont pas encore \u00e9t\u00e9 capables d&rsquo;adapter les logiciels et les algorithmes num\u00e9riques aux changements rapides et fondamentaux dans l&rsquo;\u00e9volution du hardware depuis le d\u00e9but du 21e si\u00e8cle. Une grande partie des applications et algorithmes ne sont, par cons\u00e9quent, pas bien adapt\u00e9 au hardware disponible ; cela implique des performances bien au-dessous du maximum atteignable. <!--more--><\/p>\n<p>Nous r\u00e9pondons dans cette th\u00e8se au besoin actuel de d\u00e9velopper des nouveaux algorithmes parall\u00e8les et des outils qui simplifient le d\u00e9veloppement d&rsquo;applications qui soient adapt\u00e9es au hardware d&rsquo;aujourd&rsquo;hui et de demain. Nous pr\u00e9sentons (1) le compilateur HPC<sup>m<\/sup> qui simplifie de mani\u00e8re importante la construction des applications parall\u00e8les de haute performance et (2) des algorithmes pour la simulation 3D de processus g\u00e9odynamiques complexes.<\/p>\n<p>L&rsquo;outil HPC<sup>m<\/sup> , d\u00e9velopp\u00e9 dans cette th\u00e8se, transforme des scripts MATLAB en applications parall\u00e8les de haute performance pour des super-ordinateurs, des clusters de calculs et des ordinateurs desktops avec des processeurs standards (CPU) ou des cartes graphiques (GPU) pour le calcul scientifique. ll est con\u00e7u pour des applications qui utilisent des algorithmes simples. Le coeur de HPC<sup>m<\/sup>  est un traducteur code-code.<\/p>\n<p>Dans cette th\u00e8se, nous illustrons la grande performance et versatilit\u00e9 de HPC<sup>m<\/sup>, en en faisant usage pour la g\u00e9n\u00e9ration de applications de simulation pour une vari\u00e9t\u00e9 de physiques \u00e0 travers de multiples disciplines dans les sciences de la Terre. Tous les applications de simulation atteignent une performance qui est proche du maximum que le hardware peut fournir et montrent une scalabilit\u00e9 presque id\u00e9ale sur les 80 GPUs du cluster de calcul Octopus \u00e0 l&rsquo;Institut des sciences de la Terre \u00e0 l&rsquo;Universit\u00e9 de Lausanne. De plus, ils atteignent une am\u00e9lioration sur le script MATLAB d&rsquo;entr\u00e9e d&rsquo;environ 250x \u00e0 500x sur un GPU, 1000x \u00e0 2000x sur un ordinateur desktop avec 4 GPUs et 17&rsquo;000x \u00e0 35&rsquo;000x sur 80 GPUs.<\/p>\n<p>Par ailleurs, nous montrons que notre application de simulation la plus complexe atteigne une scalabilit\u00e9 presque id\u00e9ale sur 5000 GPUs du super-ordinateur Piz Daint au Centre suisse du calcul scientifique (CSCS, Lugano, Switzerland) et arrive ainsi \u00e0 une am\u00e9lioration sur le script MATLAB d&rsquo;entr\u00e9e d&rsquo;environ 500\u2019000x. Nous nous attendons \u00e0 une scalabilit\u00e9 similaire pour tous les dix applications de simulation. Le traducteur code-code qui est contenu dans HPCm est le premier connu aux auteurs qui peut effectuer tous les t\u00e2ches n\u00e9cessaires pour la g\u00e9n\u00e9ration d&rsquo;une application massivement parall\u00e8le de haute performance \u00e0 partir d&rsquo;un code d\u00e9velopp\u00e9 dans un environnement de prototypage classique tel que MATLAB.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Th\u00e8se soutenue par Samuel Omlin, le 26 janvier 2017, Institut des sciences de la Terre (ISTE) Acad\u00e9mie et industrie n&rsquo;ont pas encore \u00e9t\u00e9 capables d&rsquo;adapter les logiciels et les algorithmes num\u00e9riques aux changements rapides et fondamentaux dans l&rsquo;\u00e9volution du hardware depuis le d\u00e9but du 21e si\u00e8cle. Une grande partie des applications et algorithmes ne sont, [&hellip;]<\/p>\n","protected":false},"author":47,"featured_media":3358,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","footnotes":"","_links_to":"","_links_to_target":""},"categories":[49465],"tags":[],"class_list":{"0":"post-2544","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-theses-soutenues"},"_links":{"self":[{"href":"https:\/\/wp.unil.ch\/geoblog\/wp-json\/wp\/v2\/posts\/2544","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.unil.ch\/geoblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.unil.ch\/geoblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.unil.ch\/geoblog\/wp-json\/wp\/v2\/users\/47"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.unil.ch\/geoblog\/wp-json\/wp\/v2\/comments?post=2544"}],"version-history":[{"count":0,"href":"https:\/\/wp.unil.ch\/geoblog\/wp-json\/wp\/v2\/posts\/2544\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wp.unil.ch\/geoblog\/wp-json\/wp\/v2\/media\/3358"}],"wp:attachment":[{"href":"https:\/\/wp.unil.ch\/geoblog\/wp-json\/wp\/v2\/media?parent=2544"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.unil.ch\/geoblog\/wp-json\/wp\/v2\/categories?post=2544"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.unil.ch\/geoblog\/wp-json\/wp\/v2\/tags?post=2544"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}