{"id":7985,"date":"2022-04-11T07:00:55","date_gmt":"2022-04-11T05:00:55","guid":{"rendered":"https:\/\/fermi.univ-tlse3.fr\/?post_type=tribe_events&#038;p=7985"},"modified":"2022-04-11T08:47:19","modified_gmt":"2022-04-11T06:47:19","slug":"how-to-make-your-code-run-faster-using-gpus-alejandro-estana-lpt-seminar-12-04-14-h","status":"publish","type":"tribe_events","link":"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/event\/how-to-make-your-code-run-faster-using-gpus-alejandro-estana-lpt-seminar-12-04-14-h\/","title":{"rendered":"How to make your code run faster using GPUs (Alejandro Estana  \/ LPT \/ Seminar). &#8211; 12\/04, 14 H."},"content":{"rendered":"<p><span style=\"font-size: 20px;\"><strong>Alejandro Estana<\/strong> <\/span>(LPT)<\/p>\n<p><strong>Abstract :<\/strong><\/p>\n<p>If the sequential execution of our code is not fast enough for our purpose, we can start thinking about parallelizing it. Parallelize a code means that some parts of the code will be run in parallel and therefore the total computing time will be reduced. Because of its parallel processing architecture, the Graphics Processing Units (GPU) has become an essential component when we think about parallelising a code. New clusters contains GPUs in their computing nodes and if we want to take advantage of their computational power we need to adapt our code one way or another.<\/p>\n<p>In the first part of the talk, I will introduce the GPU architecture and GPU programming explaining the different approaches that we can take to use the GPUs power.<\/p>\n<p>In the second part of the talk, I will present three practical examples of GPU parallelization that I have implemented in collaboration with researchers of the LPT and IRAP (Institut de recherche en astrophysique et plan\u00e9tologie).<\/p>\n<hr \/>\n<p>&nbsp;<\/p>\n<p class=\"western\"><code class=\"western\"><span style=\"font-family: Leelawadee UI, sans-serif;\"><div class=\"leaflet-map WPLeafletMap\" style=\"height:300px; width:80%;\"><\/div><script>\nwindow.WPLeafletMapPlugin = window.WPLeafletMapPlugin || [];\nwindow.WPLeafletMapPlugin.push(function WPLeafletMapShortcode() {\/*<script>*\/\nvar baseUrl = atob('aHR0cHM6Ly97c30udGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmc=');\nvar base = (!baseUrl && window.MQ) ?\n    window.MQ.mapLayer() : L.tileLayer(baseUrl,\n        L.Util.extend({}, {\n            detectRetina: 0,\n        },\n        {\"subdomains\":\"abc\",\"noWrap\":false,\"maxZoom\":18}        )\n    );\n    var options = L.Util.extend({}, {\n        layers: [base],\n        attributionControl: false\n    },\n    {\"zoomControl\":true,\"scrollWheelZoom\":true,\"doubleClickZoom\":true,\"fitBounds\":true,\"minZoom\":9,\"maxZoom\":18,\"maxBounds\":null,\"attribution\":\"<a href=\\\"http:\\\/\\\/leafletjs.com\\\" title=\\\"Une biblioth\\u00e8que JS pour des cartes interactives\\\">Leaflet<\\\/a>; \\u00a9 <a href=\\\"http:\\\/\\\/www.openstreetmap.org\\\/copyright\\\">OpenStreetMap<\\\/a> contributeurs\"},\n    {});\nwindow.WPLeafletMapPlugin.createMap(options).setView([43.560705280387,1.4674275538563],16);window.WPLeafletMapPlugin.createScale({});});<\/script><\/span><\/p>\n<p class=\"western\"><code class=\"western\"><span style=\"font-family: Leelawadee UI, sans-serif;\"><script>\nwindow.WPLeafletMapPlugin = window.WPLeafletMapPlugin || [];\nwindow.WPLeafletMapPlugin.push(function WPLeafletMarkerShortcode() {\/*<script>*\/\nvar map = window.WPLeafletMapPlugin.getCurrentMap();\nvar group = window.WPLeafletMapPlugin.getCurrentGroup();\nvar marker_options = window.WPLeafletMapPlugin.getIconOptions({});\nvar marker = L.marker(\n    [0,0],\n    marker_options\n);\nvar is_image = map.is_image_map;\n    marker.setLatLng( map.getCenter() );\nif (marker_options.draggable) {\n    marker.on('dragend', function () {\n        var latlng = this.getLatLng();\n        var lat = latlng.lat;\n        var lng = latlng.lng;\n        if (is_image) {\n            console.log('leaflet-marker y=' + lat + ' x=' + lng);\n        } else {\n            console.log('leaflet-marker lat=' + lat + ' lng=' + lng);\n        }\n    });\n}\nmarker.addTo( group );\nmarker.bindPopup(window.WPLeafletMapPlugin.unescape('FeRMI'));window.WPLeafletMapPlugin.markers.push( marker );\n        });<\/script><\/span><\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Alejandro Estana (LPT) Abstract : If the sequential execution of our code is not fast enough for our purpose, we can start thinking about parallelizing it. Parallelize a code means&hellip;&nbsp;<a href=\"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/event\/how-to-make-your-code-run-faster-using-gpus-alejandro-estana-lpt-seminar-12-04-14-h\/\" rel=\"bookmark\">Lire la suite &raquo;<span class=\"screen-reader-text\">How to make your code run faster using GPUs (Alejandro Estana  \/ LPT \/ Seminar). &#8211; 12\/04, 14 H.<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"template":"","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","_tribe_events_status":"","_tribe_events_status_reason":"","footnotes":""},"tags":[],"tribe_events_cat":[48,313,233],"class_list":["post-7985","tribe_events","type-tribe_events","status-publish","hentry","tribe_events_cat-events","tribe_events_cat-lpt","tribe_events_cat-seminars","cat_events","cat_lpt","cat_seminars"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to make your code run faster using GPUs (Alejandro Estana \/ LPT \/ Seminar). - 12\/04, 14 H. - FeRMI<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/event\/how-to-make-your-code-run-faster-using-gpus-alejandro-estana-lpt-seminar-12-04-14-h\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to make your code run faster using GPUs (Alejandro Estana \/ LPT \/ Seminar). - 12\/04, 14 H. - FeRMI\" \/>\n<meta property=\"og:description\" content=\"Alejandro Estana (LPT) Abstract : If the sequential execution of our code is not fast enough for our purpose, we can start thinking about parallelizing it. Parallelize a code means&hellip;&nbsp;Lire la suite &raquo;How to make your code run faster using GPUs (Alejandro Estana \/ LPT \/ Seminar). &#8211; 12\/04, 14 H.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/event\/how-to-make-your-code-run-faster-using-gpus-alejandro-estana-lpt-seminar-12-04-14-h\/\" \/>\n<meta property=\"og:site_name\" content=\"FeRMI\" \/>\n<meta property=\"article:modified_time\" content=\"2022-04-11T06:47:19+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/fermi.univ-tlse3.fr\\\/fr\\\/home\\\/event\\\/how-to-make-your-code-run-faster-using-gpus-alejandro-estana-lpt-seminar-12-04-14-h\\\/\",\"url\":\"https:\\\/\\\/fermi.univ-tlse3.fr\\\/fr\\\/home\\\/event\\\/how-to-make-your-code-run-faster-using-gpus-alejandro-estana-lpt-seminar-12-04-14-h\\\/\",\"name\":\"How to make your code run faster using GPUs (Alejandro Estana \\\/ LPT \\\/ Seminar). - 12\\\/04, 14 H. - FeRMI\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/fermi.univ-tlse3.fr\\\/fr\\\/home\\\/#website\"},\"datePublished\":\"2022-04-11T05:00:55+00:00\",\"dateModified\":\"2022-04-11T06:47:19+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/fermi.univ-tlse3.fr\\\/fr\\\/home\\\/event\\\/how-to-make-your-code-run-faster-using-gpus-alejandro-estana-lpt-seminar-12-04-14-h\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/fermi.univ-tlse3.fr\\\/fr\\\/home\\\/event\\\/how-to-make-your-code-run-faster-using-gpus-alejandro-estana-lpt-seminar-12-04-14-h\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/fermi.univ-tlse3.fr\\\/fr\\\/home\\\/event\\\/how-to-make-your-code-run-faster-using-gpus-alejandro-estana-lpt-seminar-12-04-14-h\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Events\",\"item\":\"https:\\\/\\\/fermi.univ-tlse3.fr\\\/fr\\\/home\\\/events\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to make your code run faster using GPUs (Alejandro Estana \\\/ LPT \\\/ Seminar). &#8211; 12\\\/04, 14 H.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/fermi.univ-tlse3.fr\\\/fr\\\/home\\\/#website\",\"url\":\"https:\\\/\\\/fermi.univ-tlse3.fr\\\/fr\\\/home\\\/\",\"name\":\"FeRMI\",\"description\":\"F\u00e9d\u00e9ration de Recherche Mati\u00e8re et Interactions\",\"publisher\":{\"@id\":\"https:\\\/\\\/fermi.univ-tlse3.fr\\\/fr\\\/home\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/fermi.univ-tlse3.fr\\\/fr\\\/home\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/fermi.univ-tlse3.fr\\\/fr\\\/home\\\/#organization\",\"name\":\"FeRMI\",\"url\":\"https:\\\/\\\/fermi.univ-tlse3.fr\\\/fr\\\/home\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/fermi.univ-tlse3.fr\\\/fr\\\/home\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/fermi.univ-tlse3.fr\\\/wp-content\\\/uploads\\\/2021\\\/09\\\/Logo_FERMI_web_bandeau350x131_blanc.png\",\"contentUrl\":\"https:\\\/\\\/fermi.univ-tlse3.fr\\\/wp-content\\\/uploads\\\/2021\\\/09\\\/Logo_FERMI_web_bandeau350x131_blanc.png\",\"width\":350,\"height\":131,\"caption\":\"FeRMI\"},\"image\":{\"@id\":\"https:\\\/\\\/fermi.univ-tlse3.fr\\\/fr\\\/home\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to make your code run faster using GPUs (Alejandro Estana \/ LPT \/ Seminar). - 12\/04, 14 H. - FeRMI","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/event\/how-to-make-your-code-run-faster-using-gpus-alejandro-estana-lpt-seminar-12-04-14-h\/","og_locale":"fr_FR","og_type":"article","og_title":"How to make your code run faster using GPUs (Alejandro Estana \/ LPT \/ Seminar). - 12\/04, 14 H. - FeRMI","og_description":"Alejandro Estana (LPT) Abstract : If the sequential execution of our code is not fast enough for our purpose, we can start thinking about parallelizing it. Parallelize a code means&hellip;&nbsp;Lire la suite &raquo;How to make your code run faster using GPUs (Alejandro Estana \/ LPT \/ Seminar). &#8211; 12\/04, 14 H.","og_url":"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/event\/how-to-make-your-code-run-faster-using-gpus-alejandro-estana-lpt-seminar-12-04-14-h\/","og_site_name":"FeRMI","article_modified_time":"2022-04-11T06:47:19+00:00","twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/event\/how-to-make-your-code-run-faster-using-gpus-alejandro-estana-lpt-seminar-12-04-14-h\/","url":"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/event\/how-to-make-your-code-run-faster-using-gpus-alejandro-estana-lpt-seminar-12-04-14-h\/","name":"How to make your code run faster using GPUs (Alejandro Estana \/ LPT \/ Seminar). - 12\/04, 14 H. - FeRMI","isPartOf":{"@id":"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/#website"},"datePublished":"2022-04-11T05:00:55+00:00","dateModified":"2022-04-11T06:47:19+00:00","breadcrumb":{"@id":"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/event\/how-to-make-your-code-run-faster-using-gpus-alejandro-estana-lpt-seminar-12-04-14-h\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fermi.univ-tlse3.fr\/fr\/home\/event\/how-to-make-your-code-run-faster-using-gpus-alejandro-estana-lpt-seminar-12-04-14-h\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/event\/how-to-make-your-code-run-faster-using-gpus-alejandro-estana-lpt-seminar-12-04-14-h\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Events","item":"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/events\/"},{"@type":"ListItem","position":2,"name":"How to make your code run faster using GPUs (Alejandro Estana \/ LPT \/ Seminar). &#8211; 12\/04, 14 H."}]},{"@type":"WebSite","@id":"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/#website","url":"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/","name":"FeRMI","description":"F\u00e9d\u00e9ration de Recherche Mati\u00e8re et Interactions","publisher":{"@id":"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/#organization","name":"FeRMI","url":"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/#\/schema\/logo\/image\/","url":"https:\/\/fermi.univ-tlse3.fr\/wp-content\/uploads\/2021\/09\/Logo_FERMI_web_bandeau350x131_blanc.png","contentUrl":"https:\/\/fermi.univ-tlse3.fr\/wp-content\/uploads\/2021\/09\/Logo_FERMI_web_bandeau350x131_blanc.png","width":350,"height":131,"caption":"FeRMI"},"image":{"@id":"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/wp-json\/wp\/v2\/tribe_events\/7985","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/wp-json\/wp\/v2\/tribe_events"}],"about":[{"href":"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/wp-json\/wp\/v2\/types\/tribe_events"}],"author":[{"embeddable":true,"href":"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/wp-json\/wp\/v2\/users\/3"}],"version-history":[{"count":4,"href":"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/wp-json\/wp\/v2\/tribe_events\/7985\/revisions"}],"predecessor-version":[{"id":8023,"href":"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/wp-json\/wp\/v2\/tribe_events\/7985\/revisions\/8023"}],"wp:attachment":[{"href":"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/wp-json\/wp\/v2\/media?parent=7985"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/wp-json\/wp\/v2\/tags?post=7985"},{"taxonomy":"tribe_events_cat","embeddable":true,"href":"https:\/\/fermi.univ-tlse3.fr\/fr\/home\/wp-json\/wp\/v2\/tribe_events_cat?post=7985"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}