{"id":18020,"date":"2018-03-03T20:42:10","date_gmt":"2018-03-03T18:42:10","guid":{"rendered":"https:\/\/hgpu.org\/?p=18020"},"modified":"2018-03-03T20:42:10","modified_gmt":"2018-03-03T18:42:10","slug":"new-high-performance-gpgpu-code-transformation-framework-applied-to-large-production-weather-prediction-code","status":"publish","type":"post","link":"https:\/\/hgpu.org\/?p=18020","title":{"rendered":"New High Performance GPGPU Code Transformation Framework Applied to Large Production Weather Prediction Code"},"content":{"rendered":"<p>We introduce &quot;Hybrid Fortran&quot;, a new approach that allows a high performance GPGPU port for structured grid Fortran codes. This technique only requires minimal changes for a CPU targeted codebase, which is a significant advancement in terms of productivity. It has been successfully applied to both dynamical core and physical processes of ASUCA, a Japanese mesoscale weather prediction model with more than 150k lines of code. By means of a minimal weather application that resembles ASUCA&#8217;s code structure, Hybrid Fortran is compared to both a performance model as well as today&#8217;s commonly used method, OpenACC. As a result, the Hybrid Fortran implementation is shown to deliver the same or better performance than OpenACC and its performance agrees with the model both on CPU and GPU. In a full scale production run, using an ASUCA grid with 1581 x 1301 x 58 cells and real world weather data in 2km resolution, 24 NVIDIA Tesla P100 running the Hybrid Fortran based GPU port are shown to replace more than 50 18-core Intel Xeon Broadwell E5-2695 v4 running the reference implementation &#8211; an achievement comparable to more invasive GPGPU rewrites of other weather models.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We introduce &quot;Hybrid Fortran&quot;, a new approach that allows a high performance GPGPU port for structured grid Fortran codes. This technique only requires minimal changes for a CPU targeted codebase, which is a significant advancement in terms of productivity. It has been successfully applied to both dynamical core and physical processes of ASUCA, a Japanese [&hellip;]<\/p>\n","protected":false},"author":351,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[89,303,3],"tags":[14,1801,989,20,1321,1931,1106,617],"class_list":["post-18020","post","type-post","status-publish","format-standard","hentry","category-nvidia-cuda","category-earth-and-space-sciences","category-paper","tag-cuda","tag-earth-and-space-sciences","tag-fortran","tag-nvidia","tag-openacc","tag-tesla-p100","tag-weather-prediction","tag-weather-prediction-model"],"views":3104,"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hgpu.org\/index.php?rest_route=\/wp\/v2\/posts\/18020","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hgpu.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hgpu.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hgpu.org\/index.php?rest_route=\/wp\/v2\/users\/351"}],"replies":[{"embeddable":true,"href":"https:\/\/hgpu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=18020"}],"version-history":[{"count":0,"href":"https:\/\/hgpu.org\/index.php?rest_route=\/wp\/v2\/posts\/18020\/revisions"}],"wp:attachment":[{"href":"https:\/\/hgpu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=18020"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hgpu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=18020"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hgpu.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=18020"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}