Abstract

SummaryThe continuous growth of spatial resolution and forecasting period in current atmospheric models demands increasing processing power supplied by supercomputers with hundreds or thousands of nodes. Currently, most of these models are operationally executed on supercomputers composed of nodes with tens of cores (multi‐core architecture). Newer supercomputer generations have nodes with multi‐core processors coupled to processing accelerators, typically graphics cards with hundreds of cores (many‐core architecture). The rewriting of model codes to use both architectures efficiently, that is, executing with or without graphics cards, represents a challenge because these models have hundreds of thousands of lines. The OpenMP programming interface proposed decades ago is a de facto standard that efficiently explores multi‐core architectures. A new programming interface, OpenACC, is being proposed for many‐core architectures. These two programming interfaces are similar, because they are based on parallelization directives for the concurrent execution of threads. This work shows the feasibility of writing a single portable code embedding both interfaces and presenting acceptable efficiency when executed on nodes with multi‐core or many‐core architecture. The code chosen as a case study is the advection of scalars, a part of the dynamics of the regional atmospheric model Brazilian Regional Atmospheric Modeling System (BRAMS). The dynamics of a model is harder to parallelize because of data dependencies between adjacent grid points. Single‐node executions of the advections of scalars for different grid sizes using OpenMP or OpenACC yielded similar speed‐ups, showing the feasibility of the proposed approach. Copyright © 2016 John Wiley & Sons, Ltd.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.