{"title":"Cosmological Particle-Mesh Simulations in Chapel","authors":"N. Padmanabhan, Ben Albrecht","doi":"10.1145/3144779.3169105","DOIUrl":null,"url":null,"abstract":"1 EXTENDED ABSTRACT This presentation will describe the implementation and performance of a gravitational N-body particle-mesh (PM) code in Chapel. Our goal here is to go beyond simple benchmarks and kernels, and present a case-study on the readiness of Chapel to be used for end-to-end computations. Chapel is a next generation, high-productivity PGAS language being developed as an open source project at Cray Inc. Chapel grew out of the DARPA High Productivity Computing Systems (HPCS) program. Some of its key features include native parallelism in the core language, data and task locality, a multiresolution philosophy, and interoperability with C. Chapel supports parallelism and locality as first-class features allowing one to target a variety of hardware architectures under a single set of semantics. Chapel’s multiresolution design philosophy designates that Chapel exposes a spectrum of lower-level programming features under the higherlevel data-parallel approach, allowing users to customize or tune communication patterns as needed. Lastly, Chapel provides built-in 2-way interoperability with C, enabling users to wrap legacy codes in Chapel with relative ease. A key feature of Chapel is that the parallel and distributed abstractions are all implemented in Chapel itself, allowing it to easily be extended. We will discuss examples of these below. Our interest in implementing a gravitational N-body particlemesh code grew out of the research interests of the first author. The goal in cosmology is to use the Universe as a laboratory to probe fundamental physics on scales (both in energy and length) that are otherwise inaccessible to laboratories and experiments. However, unlike experiments that can be tailored to answer specific problems, cosmology must rely on modeling observations in their entirety to make the necessary inferences about the underlying physics. This process relies on being able to numerically simulate observations (since analytic calculations, while valuable for insight, often cannot reach the precision required) and is therefore is highly computational in nature. Furthermore, modern astrophysical datasets are getting large enough that they cannot be analyzed on single-core","PeriodicalId":369424,"journal":{"name":"Proceedings of the Second Annual PGAS Applications Workshop","volume":"127 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-11-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the Second Annual PGAS Applications Workshop","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3144779.3169105","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
1 EXTENDED ABSTRACT This presentation will describe the implementation and performance of a gravitational N-body particle-mesh (PM) code in Chapel. Our goal here is to go beyond simple benchmarks and kernels, and present a case-study on the readiness of Chapel to be used for end-to-end computations. Chapel is a next generation, high-productivity PGAS language being developed as an open source project at Cray Inc. Chapel grew out of the DARPA High Productivity Computing Systems (HPCS) program. Some of its key features include native parallelism in the core language, data and task locality, a multiresolution philosophy, and interoperability with C. Chapel supports parallelism and locality as first-class features allowing one to target a variety of hardware architectures under a single set of semantics. Chapel’s multiresolution design philosophy designates that Chapel exposes a spectrum of lower-level programming features under the higherlevel data-parallel approach, allowing users to customize or tune communication patterns as needed. Lastly, Chapel provides built-in 2-way interoperability with C, enabling users to wrap legacy codes in Chapel with relative ease. A key feature of Chapel is that the parallel and distributed abstractions are all implemented in Chapel itself, allowing it to easily be extended. We will discuss examples of these below. Our interest in implementing a gravitational N-body particlemesh code grew out of the research interests of the first author. The goal in cosmology is to use the Universe as a laboratory to probe fundamental physics on scales (both in energy and length) that are otherwise inaccessible to laboratories and experiments. However, unlike experiments that can be tailored to answer specific problems, cosmology must rely on modeling observations in their entirety to make the necessary inferences about the underlying physics. This process relies on being able to numerically simulate observations (since analytic calculations, while valuable for insight, often cannot reach the precision required) and is therefore is highly computational in nature. Furthermore, modern astrophysical datasets are getting large enough that they cannot be analyzed on single-core