Search NASA⌕ Search

SEARCH · Search NASA

Results for “Fortran 2003”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

GenASiSBasics: Object-oriented utilitarian functionality for large-scale physics simulations (Version 2)

GenASiSBasics provides Fortran 2003 classes furnishing extensible object-oriented utilitarian functionality for large-scale physics simulations on distributed memory supercomputers. This functionality includes physical units and constants; display to the screen or standard output device; message passing; I/O to disk; and runtime parameter management and usage statistics. Finally, this revision–Version 2 of Basics–makes mostly minor additions to functionality and includes some simplifying name changes.

97 MATHEMATICS AND COMPUTING↗

Automated Fortran–C++ Bindings for Large-Scale Scientific Applications

Although many active scientific codes use modern Fortran, most contemporary scientific software libraries are implemented in C and C++. Providing their numerical, algorithmic, or data management features to Fortran codes requires writing and maintaining substantial amounts of glue code. This paper introduces a tool that automatically generates native Fortran 2003 interfaces to C and C++ libraries. The tool supports C++ features that have no direct Fortran analog, such as templated functions and exceptions. Finally, a set of simple examples demonstrates the utility and scope of the tool, and timing measurements with a mock numerical library illustrate the minimal performance impact of the generated wrapper code.

97 MATHEMATICS AND COMPUTING↗

GenASiS Basics: Object-oriented utilitarian functionality for large-scale physics simulations (Version 3)

GenASiS Basics provides Fortran 2003 classes furnishing extensible object-oriented utilitarian functionality for large-scale physics simulations on distributed memory supercomputers. This functionality includes physical units and constants; display to the screen or standard output device; message passing; I/O to disk; and runtime parameter management and usage statistics. This revision – Version 3 of Basics – includes a significant name change, some minor additions to functionality, and a major addition to functionality: infrastructure facilitating the offloading of computational kernels to devices such as GPUs.

71 CLASSICAL AND QUANTUM MECHANICS, GENERAL PHYSIC↗

ButterflyPACK

ButterflyPACK is a mathematical software for rapidly solving large-scale dense linear systems that exhibit off-diagonal rank-deficiency properties. These targeted systems are either matrices arising from discretized boundary integral equations, or frontal matrices in multi-frontal solvers for differential equations. ButterflyPACK relies on low-rank and butterfly formats under Hierarchical matrix, HODLR or HSS frameworks to compress, factor/precondition and solve the linear system in quasi-linear time. ButterflyPACK is particularly useful for large-scale ill-conditioned matrices arising from high-frequency wave equations involving multiple right-hand-sides. ButterflyPACK is based on Fortran 2003, it also has interface written in C++. In addition, ButterflyPACK can be readily invoked from the software STRUMPACK. ButterflyPACK supports hybrid MPI/OpenMP programming models.

Liu, Yang↗

Collaborative Research: Improved Efficiency and Coupling of the Radiation Code in the ACME Earth System Model (Final Report)

The complexity of radiative transfer, its importance to the exchange of energy in the climate system, and its high computational cost establishes importance of an accurate and efficient radiative transfer parameterization for climate simulation. Previous work by the proposing team at AER led to the development of the radiation code, RRTMG, which has been widely accepted by the global modeling community as a fast and accurate advancement over the previous generation of radiation codes. It has been in use in the NCAR CESM for many years, and it has been implemented in the initial version the DOE E3SM model. However, its computational cost remains high relative to other components in part due to its complexity and to its inefficient use of modern optimization strategies, and this project helped address this limitation for the code’s application in E3SM. Under other funding, the Investigators of this project led an effort to develop a high-performance broadband radiation code, called RTE+RRTMGP, which is a completely restructured code that will take advantage of modern computational capabilities to enhance its performance while retaining the strengths and accuracy of the original code. Designed to perform over a range of computer architectures, RTE+RRTMGP makes extensive use of Fortran 2003 features to improve both its efficiency and its use of memory. RTE+RRTMGP is expected to be adopted in the next generation of RTE+RRTMGP. This project allowed for advancements to the code’s computational capabilities and adding new and enhanced features. This included revising RTE+RRTMGP to run on GPU processors, analysis of and improvements to the code’s timing, modifying the gas optics in RRTMGP to increase the code’s accuracy, extensive validation of computed fluxes, heating rates and forcings, generating a cloud optical property and vertical sampling capabilities for RTE+RRTMGP, implementing a fast and accurate longwave scattering capability, and groundwork for the inclusion of a capability to specify solar variability. Many of the accomplishment in this project necessitated significant collaboration with the E3SM development team. The result of this project was optimization of a key physical component (radiative transfer calculations) of E3SM, directly supporting E3SM’s overarching global modeling objectives. More broadly, this project provided overall advancements in the use of radiative transfer calculations in atmospheric modeling and simulation, particularly for climate.

58 GEOSCIENCES↗

ROSE

Developed at Lawrence Livermore National Laboratory (LLNL), ROSE is an open source compiler infrastructure to build source-to-source program transformation and analysis tools for large-scale C (C89 to C23), C++ (C++98 to C++23), UPC, Fortran (Fortran4, 66, 77, 95, 2003), OpenMP, Java, Python, and Binary applications. ROSE users range from experienced compiler researchers to library and tool developers who may have minimal compiler experience. ROSE is particularly well suited for building custom tools for static analysis, program optimization, arbitrary program transformation, domain-specific optimizations, complex loop optimizations, performance analysis, and cyber-security. ROSE is: A library (and set of associated tools) to quickly and easily apply compiler techniques to one's code in order to improve application performance and developer productivity. A research and development compiler infrastructure for for writing custom source-to-source translators to perform source code transformations, analysis, and optimizations. Is

Pinnow, NathanT [Lawrence Livermore National Labor↗