316 research outputs found

    High-performance design patterns for modern Fortran

    Get PDF
    This paper presents ideas for using coordinate-free numerics in modern Fortran to achieve code flexibility in the partial differential equation (PDE) domain. We also show how Fortran, over the last few decades, has changed to become a language well-suited for state-of-the-art software development. Fortran’s new coarray distributed data structure, the language’s class mechanism, and its side-effect-free, pure procedure capability provide the scaffolding on which we implement HPC software. These features empower compilers to organize parallel computations with efficient communication. We present some programming patterns that support asynchronous evaluation of expressions comprised of parallel operations on distributed data. We implemented these patterns using coarrays and the message passing interface (MPI). We compared the codes’ complexity and performance. The MPI code is much more complex and depends on external libraries. The MPI code on Cray hardware using the Cray compiler is 1.5–2 times faster than the coarray code on the same hardware. The Intel compiler implements coarrays atop Intel’s MPI library with the result apparently being 2–2.5 times slower than manually coded MPI despite exhibiting nearly linear scaling efficiency. As compilers mature and further improvements to coarrays comes in Fortran 2015, we expect this performance gap to narrow.publishedVersio

    Cooperative Extension and Climate Change: Successful Program Delivery

    Get PDF
    The politically charged debate surrounding climate change poses a challenge to outreach and education. A 2011 survey revealed that NC Extension professionals have approached climate change programming cautiously, citing lack of audience interest as the primary barrier—perhaps because the Southeast region has experienced relatively mild climate change impacts, to date. We propose a tiered approach to effectively communicate climate change adaptation strategies to agriculture and natural resource Extension clients: Extension should provide climate science information to early adopters and emphasize risk management of specific threats to clients not convinced about climate change, focusing on local solutions and familiar management tools
    • …
    corecore