{"title":"Optimised Hybrid Parallelisation of a CFD Code on Many Core Architectures","authors":"A. Jackson, M. Campobasso","doi":"10.1109/SYNASC.2013.70","DOIUrl":"https://doi.org/10.1109/SYNASC.2013.70","url":null,"abstract":"Reliable aerodynamic and aeroelastic design of wind turbines, aircraft wings and turbomachinery blades increasingly relies on the use of high-fidelity Navier-Stokes Computational Fluid Dynamics codes to predict the strongly nonlinear periodic flows associated with structural vibrations and periodically vary- ing farfield boundary conditions. On a single computer core, the harmonic balance solution of the Navier-Stokes equations has been shown to significantly reduce the analysis runtime with respect to the conventional time-domain approach. The problem size of realistic simulations, however, requires high- performance computing. The Computational Fluid Dynamics COSA code features a novel harmonic balance Navier-Stokes solver which has been previously parallelised using both a pure MPI implementation and a hybrid MPI/OpenMP implementation. This paper presents the recently completed optimisation of both parallelisations. The achieved performance improvements of both parallelisations highlight the effectiveness of the adopted parallel optimisation strategies. Moreover, a comparative analysis of the optimal performance of these two architectures in terms of runtime and power consumption using some of the current common HPC architectures highlights the reduction of both aspects achievable by using the hybrid parallelisation with emerging many-core architectures.","PeriodicalId":293085,"journal":{"name":"2013 15th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-04-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121355593","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Stepping Up","authors":"A. Jackson","doi":"10.1109/SYNASC.2013.12","DOIUrl":"https://doi.org/10.1109/SYNASC.2013.12","url":null,"abstract":"Computational simulation is an important research tool for modern scientists. There are a range of different scales of high performance computing (HPC) resources available to scientists, from laptop and desktop machines, to small institutional clusters, to national HPC resources, and the largest parallel computers in the world. This paper outlines the challenges that developers and users face moving from small scale computational resources to larger scale parallel machines. We present an overview of various research efforts to improve performance on large scale systems to enable users and developers to gain an understanding of the performance issues often encountered by simulation codes.","PeriodicalId":293085,"journal":{"name":"2013 15th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing","volume":"33 3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-04-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127101282","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"MDMP: Managed Data Message Passing","authors":"A. Jackson, P. Strand","doi":"10.1109/SYNASC.2013.71","DOIUrl":"https://doi.org/10.1109/SYNASC.2013.71","url":null,"abstract":"MDMP is a parallel programming approach designed to provide users with an easy way to add parallelism to programs, optimise scientific simulation algorithms, and providing optimised communications to MPI-based programs without requiring them to be re-written from scratch. MDMP uses directives to allow users to specify what communications should take place in the code, and then implements those communications in an optimal manner using both the information provided by the user and data collected from instrumenting the code and gathering information on the data to be communicated at runtime. In this paper we outline the basic concepts and functionality of MDMP and discuss the performance that can be achieved using our prototype implementation of MDMP a range of benchmark cases.","PeriodicalId":293085,"journal":{"name":"2013 15th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing","volume":"161 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-04-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134039060","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}