{"title":"使用PSyclone将Fortran天气和气候应用程序转换为OpenCL","authors":"Sergi Siso, A. Porter, R. Ford","doi":"10.1145/3585341.3585360","DOIUrl":null,"url":null,"abstract":"Specialized hardware accelerators have gained popularity in high-performance computing as a way to increase the performance and power efficiency characteristics of the systems. However, a large number of scientific applications running on these systems are written in Fortran, which does not provide a performance-portable vendor-agnostic API to target heterogeneous architectures. In this paper, we use the PSyclone source-to-source code generation and transformation system to automatically translate a subset of the Fortran language to OpenCL for weather and climate applications conforming to the PSyKAl kernel-based parallelism model. This allows Fortran applications to take advantage of the mature accelerator portability and runtime compilation capabilities of OpenCL. However, a direct translation does not always produce optimal code for each device. To improve the performance portability of the generated code, the presented approach also allows application developers to provide a list of additional code transformations needed to make the generated OpenCL kernels appropriate for each target architecture. We tested the system with the NEMOLite2D Fortran application, which produced competitive performance portability results for CPU and GPU platforms from different vendors and provided an initial port of the application to an FPGA system.","PeriodicalId":360830,"journal":{"name":"Proceedings of the 2023 International Workshop on OpenCL","volume":"181 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Transforming Fortran weather and climate applications to OpenCL using PSyclone\",\"authors\":\"Sergi Siso, A. Porter, R. Ford\",\"doi\":\"10.1145/3585341.3585360\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Specialized hardware accelerators have gained popularity in high-performance computing as a way to increase the performance and power efficiency characteristics of the systems. However, a large number of scientific applications running on these systems are written in Fortran, which does not provide a performance-portable vendor-agnostic API to target heterogeneous architectures. In this paper, we use the PSyclone source-to-source code generation and transformation system to automatically translate a subset of the Fortran language to OpenCL for weather and climate applications conforming to the PSyKAl kernel-based parallelism model. This allows Fortran applications to take advantage of the mature accelerator portability and runtime compilation capabilities of OpenCL. However, a direct translation does not always produce optimal code for each device. To improve the performance portability of the generated code, the presented approach also allows application developers to provide a list of additional code transformations needed to make the generated OpenCL kernels appropriate for each target architecture. We tested the system with the NEMOLite2D Fortran application, which produced competitive performance portability results for CPU and GPU platforms from different vendors and provided an initial port of the application to an FPGA system.\",\"PeriodicalId\":360830,\"journal\":{\"name\":\"Proceedings of the 2023 International Workshop on OpenCL\",\"volume\":\"181 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2023-04-18\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 2023 International Workshop on OpenCL\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3585341.3585360\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2023 International Workshop on OpenCL","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3585341.3585360","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Transforming Fortran weather and climate applications to OpenCL using PSyclone
Specialized hardware accelerators have gained popularity in high-performance computing as a way to increase the performance and power efficiency characteristics of the systems. However, a large number of scientific applications running on these systems are written in Fortran, which does not provide a performance-portable vendor-agnostic API to target heterogeneous architectures. In this paper, we use the PSyclone source-to-source code generation and transformation system to automatically translate a subset of the Fortran language to OpenCL for weather and climate applications conforming to the PSyKAl kernel-based parallelism model. This allows Fortran applications to take advantage of the mature accelerator portability and runtime compilation capabilities of OpenCL. However, a direct translation does not always produce optimal code for each device. To improve the performance portability of the generated code, the presented approach also allows application developers to provide a list of additional code transformations needed to make the generated OpenCL kernels appropriate for each target architecture. We tested the system with the NEMOLite2D Fortran application, which produced competitive performance portability results for CPU and GPU platforms from different vendors and provided an initial port of the application to an FPGA system.