Nischay Ram Mamidi, D. Saxena, K. Prasun, Anil Nemili, Bharatkumar Sharma, S. Deshpande
{"title":"GPU加速无网格q-LSKUM求解器在Fortran, C, Python和Julia中的性能分析","authors":"Nischay Ram Mamidi, D. Saxena, K. Prasun, Anil Nemili, Bharatkumar Sharma, S. Deshpande","doi":"10.1109/HiPC56025.2022.00031","DOIUrl":null,"url":null,"abstract":"This paper presents a comprehensive analysis of the performance of Fortran, C, Python, and Julia based GPU accelerated meshfree solvers for compressible flows. The programming model CUDA is used to develop the GPU codes. The meshfree solver is based on the least squares kinetic upwind method with entropy variables (q-LSKUM). To measure the performance of baseline codes, benchmark calculations are performed. The codes are then profiled to investigate the differences in their performance. Analysing various performance metrics for the computationally expensive flux residual kernel helped identify various bottlenecks in the codes. To resolve the bottlenecks, several optimisation techniques are employed. Post optimisation, the performance metrics have improved significantly, with the C GPU code exhibiting the best performance.","PeriodicalId":119363,"journal":{"name":"2022 IEEE 29th International Conference on High Performance Computing, Data, and Analytics (HiPC)","volume":"4 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Performance analysis of GPU accelerated meshfree q-LSKUM solvers in Fortran, C, Python, and Julia\",\"authors\":\"Nischay Ram Mamidi, D. Saxena, K. Prasun, Anil Nemili, Bharatkumar Sharma, S. Deshpande\",\"doi\":\"10.1109/HiPC56025.2022.00031\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"This paper presents a comprehensive analysis of the performance of Fortran, C, Python, and Julia based GPU accelerated meshfree solvers for compressible flows. The programming model CUDA is used to develop the GPU codes. The meshfree solver is based on the least squares kinetic upwind method with entropy variables (q-LSKUM). To measure the performance of baseline codes, benchmark calculations are performed. The codes are then profiled to investigate the differences in their performance. Analysing various performance metrics for the computationally expensive flux residual kernel helped identify various bottlenecks in the codes. To resolve the bottlenecks, several optimisation techniques are employed. Post optimisation, the performance metrics have improved significantly, with the C GPU code exhibiting the best performance.\",\"PeriodicalId\":119363,\"journal\":{\"name\":\"2022 IEEE 29th International Conference on High Performance Computing, Data, and Analytics (HiPC)\",\"volume\":\"4 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2022-12-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2022 IEEE 29th International Conference on High Performance Computing, Data, and Analytics (HiPC)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/HiPC56025.2022.00031\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 IEEE 29th International Conference on High Performance Computing, Data, and Analytics (HiPC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/HiPC56025.2022.00031","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Performance analysis of GPU accelerated meshfree q-LSKUM solvers in Fortran, C, Python, and Julia
This paper presents a comprehensive analysis of the performance of Fortran, C, Python, and Julia based GPU accelerated meshfree solvers for compressible flows. The programming model CUDA is used to develop the GPU codes. The meshfree solver is based on the least squares kinetic upwind method with entropy variables (q-LSKUM). To measure the performance of baseline codes, benchmark calculations are performed. The codes are then profiled to investigate the differences in their performance. Analysing various performance metrics for the computationally expensive flux residual kernel helped identify various bottlenecks in the codes. To resolve the bottlenecks, several optimisation techniques are employed. Post optimisation, the performance metrics have improved significantly, with the C GPU code exhibiting the best performance.