Benjamin Wilfong, Anand Radhakrishnan, Henry A. Le Berre, Steve Abbott, Reuben D. Budiardja, Spencer H. Bryngelson
{"title":"在 AMD 和 NVIDIA GPU 上卸载 MFC 可压缩多相流求解器的 OpenACC 功能","authors":"Benjamin Wilfong, Anand Radhakrishnan, Henry A. Le Berre, Steve Abbott, Reuben D. Budiardja, Spencer H. Bryngelson","doi":"arxiv-2409.10729","DOIUrl":null,"url":null,"abstract":"GPUs are the heart of the latest generations of supercomputers. We\nefficiently accelerate a compressible multiphase flow solver via OpenACC on\nNVIDIA and AMD Instinct GPUs. Optimization is accomplished by specifying the\ndirective clauses 'gang vector' and 'collapse'. Further speedups of six and ten\ntimes are achieved by packing user-defined types into coalesced\nmultidimensional arrays and manual inlining via metaprogramming. Additional\noptimizations yield seven-times speedup in array packing and thirty-times\nspeedup of select kernels on Frontier. Weak scaling efficiencies of 97% and 95%\nare observed when scaling to 50% of Summit and 95% of Frontier. Strong scaling\nefficiencies of 84% and 81% are observed when increasing the device count by a\nfactor of 8 and 16 on V100 and MI250X hardware. The strong scaling efficiency\nof AMD's MI250X increases to 92% when increasing the device count by a factor\nof 16 when GPU-aware MPI is used for communication.","PeriodicalId":501125,"journal":{"name":"arXiv - PHYS - Fluid Dynamics","volume":"5 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-09-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"OpenACC offloading of the MFC compressible multiphase flow solver on AMD and NVIDIA GPUs\",\"authors\":\"Benjamin Wilfong, Anand Radhakrishnan, Henry A. Le Berre, Steve Abbott, Reuben D. Budiardja, Spencer H. Bryngelson\",\"doi\":\"arxiv-2409.10729\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"GPUs are the heart of the latest generations of supercomputers. We\\nefficiently accelerate a compressible multiphase flow solver via OpenACC on\\nNVIDIA and AMD Instinct GPUs. Optimization is accomplished by specifying the\\ndirective clauses 'gang vector' and 'collapse'. Further speedups of six and ten\\ntimes are achieved by packing user-defined types into coalesced\\nmultidimensional arrays and manual inlining via metaprogramming. Additional\\noptimizations yield seven-times speedup in array packing and thirty-times\\nspeedup of select kernels on Frontier. Weak scaling efficiencies of 97% and 95%\\nare observed when scaling to 50% of Summit and 95% of Frontier. Strong scaling\\nefficiencies of 84% and 81% are observed when increasing the device count by a\\nfactor of 8 and 16 on V100 and MI250X hardware. The strong scaling efficiency\\nof AMD's MI250X increases to 92% when increasing the device count by a factor\\nof 16 when GPU-aware MPI is used for communication.\",\"PeriodicalId\":501125,\"journal\":{\"name\":\"arXiv - PHYS - Fluid Dynamics\",\"volume\":\"5 1\",\"pages\":\"\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2024-09-16\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"arXiv - PHYS - Fluid Dynamics\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/arxiv-2409.10729\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - PHYS - Fluid Dynamics","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2409.10729","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
OpenACC offloading of the MFC compressible multiphase flow solver on AMD and NVIDIA GPUs
GPUs are the heart of the latest generations of supercomputers. We
efficiently accelerate a compressible multiphase flow solver via OpenACC on
NVIDIA and AMD Instinct GPUs. Optimization is accomplished by specifying the
directive clauses 'gang vector' and 'collapse'. Further speedups of six and ten
times are achieved by packing user-defined types into coalesced
multidimensional arrays and manual inlining via metaprogramming. Additional
optimizations yield seven-times speedup in array packing and thirty-times
speedup of select kernels on Frontier. Weak scaling efficiencies of 97% and 95%
are observed when scaling to 50% of Summit and 95% of Frontier. Strong scaling
efficiencies of 84% and 81% are observed when increasing the device count by a
factor of 8 and 16 on V100 and MI250X hardware. The strong scaling efficiency
of AMD's MI250X increases to 92% when increasing the device count by a factor
of 16 when GPU-aware MPI is used for communication.