K. Krommydas, P. Sathre, Ruchira Sasanka, Wu-chun Feng
{"title":"A Framework for Auto-Parallelization and Code Generation: An Integrative Case Study with Legacy FORTRAN Codes","authors":"K. Krommydas, P. Sathre, Ruchira Sasanka, Wu-chun Feng","doi":"10.1145/3225058.3225143","DOIUrl":null,"url":null,"abstract":"GLAF, short for Grid-based Language and Auto-parallelization Framework, is a programming framework that seeks to democratize parallel programming by facilitating better productivity in parallel computing via an intuitive graphical programming interface (GPI) that automatically parallelizes and generates code in many languages. Originally, GLAF addressed program development from scratch via the GPI; but this unduly restricted GLAF's utility to creating new codes only. Thus, this paper extends GLAF by enabling program development from pre-existing kernels of interest, which can then be easily and transparently integrated into existing legacy codes. Specifically, we address the theoretical and practical limitations of integration and interoperability of auto-generated parallel code within existing FORTRAN codes; enhance GLAF to overcome these limitations; and present an integrative case study and evaluation of the enhanced GLAF via the implementation of important kernels in two NASA codes: (1) the Synoptic Surface & Atmospheric Radiation Budget (SARB), part of the Clouds and the Earth's Radiant Energy System (CERES), and (2) the Fully Unstructured Navier-Stokes (FUN3D) suite for computational fluid dynamics.","PeriodicalId":307809,"journal":{"name":"Proceedings of the 47th International Conference on Parallel Processing","volume":"23 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-08-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 47th International Conference on Parallel Processing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3225058.3225143","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
GLAF, short for Grid-based Language and Auto-parallelization Framework, is a programming framework that seeks to democratize parallel programming by facilitating better productivity in parallel computing via an intuitive graphical programming interface (GPI) that automatically parallelizes and generates code in many languages. Originally, GLAF addressed program development from scratch via the GPI; but this unduly restricted GLAF's utility to creating new codes only. Thus, this paper extends GLAF by enabling program development from pre-existing kernels of interest, which can then be easily and transparently integrated into existing legacy codes. Specifically, we address the theoretical and practical limitations of integration and interoperability of auto-generated parallel code within existing FORTRAN codes; enhance GLAF to overcome these limitations; and present an integrative case study and evaluation of the enhanced GLAF via the implementation of important kernels in two NASA codes: (1) the Synoptic Surface & Atmospheric Radiation Budget (SARB), part of the Clouds and the Earth's Radiant Energy System (CERES), and (2) the Fully Unstructured Navier-Stokes (FUN3D) suite for computational fluid dynamics.
GLAF是基于网格的语言和自动并行化框架(Grid-based Language and Auto-parallelization Framework)的缩写,它是一个编程框架,旨在通过直观的图形编程接口(GPI)促进并行计算的更高生产率,从而实现并行编程的民主化,该接口可以自动并行化并生成多种语言的代码。最初,GLAF通过GPI从头开始处理程序开发;但这过分地限制了GLAF的作用,使其只能创建新代码。因此,本文通过支持从感兴趣的预先存在的内核进行程序开发来扩展GLAF,然后可以轻松透明地将其集成到现有的遗留代码中。具体来说,我们解决了在现有FORTRAN代码中自动生成并行代码的集成和互操作性的理论和实践限制;加强全球GLAF以克服这些限制;并通过实现两个NASA代码中的重要核心,对增强型GLAF进行了综合案例研究和评估:(1)天气表面和大气辐射预算(SARB),云和地球辐射能系统(CERES)的一部分,以及(2)用于计算流体动力学的完全非结构化Navier-Stokes (FUN3D)套件。