Search NASA⌕ Search

SEARCH · Search NASA

Results for “libraries”

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.

At least 559 records · Page 31

A graphics processing unit accelerated sparse direct solver and preconditioner with block low rank compression

We present the GPU implementation efforts and challenges of the sparse solver package STRUMPACK. The code is made publicly available on github with a permissive BSD license. STRUMPACK implements an approximate multifrontal solver, a sparse LU factorization which makes use of compression methods to accelerate time to solution and reduce memory usage. Multiple compression schemes based on rank-structured and hierarchical matrix approximations are supported, including hierarchically semi-separable, hierarchically off-diagonal butterfly, and block low rank. Here, in this paper, we present the GPU implementation of the block low rank (BLR) compression method within a multifrontal solver. Our GPU implementation relies on highly optimized vendor libraries such as cuBLAS and cuSOLVER for NVIDIA GPUs, rocBLAS and rocSOLVER for AMD GPUs and the Intel oneAPI Math Kernel Library (oneMKL) for Intel GPUs. Additionally, we rely on external open source libraries such as SLATE (Software for Linear Algebra Targeting Exascale), MAGMA (Matrix Algebra on GPU and Multi-core Architectures), and KBLAS (KAUST BLAS). SLATE is used as a GPU-capable ScaLAPACK replacement. From MAGMA we use variable sized batched dense linear algebra operations such as GEMM, TRSM and LU with partial pivoting. KBLAS provides efficient (batched) low rank matrix compression for NVIDIA GPUs using an adaptive randomized sampling scheme. The resulting sparse solver and preconditioner runs on NVIDIA, AMD and Intel GPUs. Interfaces are available from PETSc, Trilinos and MFEM, or the solver can be used directly in user code. We report results for a range of benchmark applications, using the Perlmutter system from NERSC, Frontier from ORNL, and Aurora from ALCF. For a high frequency wave equation on a regular mesh, using 32 Perlmutter compute nodes, the factorization phase of the exact GPU solver is about 6.5× faster compared to the CPU-only solver. The BLR-enabled GPU solver is about 13.8× faster than the CPU exact solver. For a collection of SuiteSparse matrices, the STRUMPACK exact factorization on a single GPU is on average 1.9× faster than NVIDIA’s cuDSS solver.

97 MATHEMATICS AND COMPUTING↗

PETSc/TAO developments for GPU-based early exascale systems

The Portable Extensible Toolkit for Scientific Computation (PETSc) library provides scalable solvers for nonlinear time-dependent differential and algebraic equations and for numerical optimization via the Toolkit for Advanced Optimization (TAO). PETSc is used in dozens of scientific fields and is an important building block for many simulation codes. During the U.S. Department of Energy’s Exascale Computing Project, the PETSc team has made substantial efforts to enable efficient utilization of the massive fine-grain parallelism present within exascale compute nodes and to enable performance portability across exascale architectures. We recap some of the challenges that designers of numerical libraries face in such an endeavor, and then discuss the many developments we have made, which include the addition of new GPU backends, features supporting efficient on-device matrix assembly, better support for asynchronicity and GPU kernel concurrency, and new communication infrastructure. In conclusion, we evaluate the performance of these developments on some pre-exascale systems as well as the early exascale systems Frontier and Aurora, using compute kernel, communication layer, solver, and mini-application benchmark studies, and then close with a few observations drawn from our experiences on the tension between portable performance and other goals of numerical libraries.

Exascale Computing Project (ECP)↗

Preparing MPICH for exascale

The advent of exascale supercomputers heralds a new era of scientific discovery, yet it introduces significant architectural challenges that must be overcome for MPI applications to fully exploit its potential. Among these challenges is the adoption of heterogeneous architectures, particularly the integration of GPUs to accelerate computation. Additionally, the complexity of multithreaded programming models has also become a critical factor in achieving performance at scale. The efficient utilization of hardware acceleration for communication, provided by modern NICs, is also essential for achieving low latency and high throughput communication in such complex systems. In response to these challenges, the MPICH library, a high-performance and widely used Message Passing Interface (MPI) implementation, has undergone significant enhancements. Here, this paper presents four major contributions that prepare MPICH for the exascale transition. First, we describe a lightweight communication stack that leverages the advanced features of modern NICs to maximize hardware acceleration. Second, our work showcases a highly scalable multithreaded communication model that addresses the complexities of concurrent environments. Third, we introduce GPU-aware communication capabilities that optimize data movement in GPU-integrated systems. Finally, we present a new datatype engine aimed at accelerating the use of MPI derived datatypes on GPUs. These improvements in the MPICH library not only address the immediate needs of exascale computing architectures but also set a foundation for exploiting future innovations in high-performance computing. By embracing these new designs and approaches, MPICH-derived libraries from HPE Cray and Intel were able to achieve real exascale performance on OLCF Frontier and ALCF Aurora respectively.

Guo, Yanfei [Argonne National Laboratory (ANL), Ar↗

EOSPAC User's Manual: Version 6.5 Second Edition (Rev. 3)

The EOSPAC utility package is a collection of interface routines, which can be used to access the SESAME data library and perform various data adjustments and interpolations on the SESAME data. The SESAME data library contains both thermodynamic (e.g., equation of state) and transport coefficients (e.g., opacity and conductivity). Note, for simplicity, the term EOS (equation of state) used herein includes both thermodynamic variables and transport coefficients. The EOSPAC utility package is designed to be used by physics codes (henceforth ”host codes”) written in multiple languages and on multiple platforms. The remainder of this manual is organized into several sections. Chapter 2 discusses conventions such as data organization and routine names. Chapter 3 provides a general overview of basic theory and models implemented within EOSPAC. Chapter 4 provides a general overview of how to use the EOSPAC interface library. Chapters 5 to 7 describe the public interfaces of EOSPAC in detail. Chapter 8 provides a brief introduction to some related tools, which may be of use to the user. Chapter 9 provides details related to some selected numerical features of EOSPAC. Chapter 10 gives examples for using the interface routines described in chapters 5 to 7. Chapter 11 provides technical support contact information. Chapter 12 contains a brief set of acknowledgments. Chapter 13 contains a list of referenced documents. Finally, chapter 14 lists the “table types: mnemonic conventions”, “table types: grouped by category, sorted by name”, “table types: eospac version 5 cross reference”, “options: setup phase”, “data information parameters”, “meta-data information parameters”, “options: interpolation phase”, and the “error codes”.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Milestone 49 Report: Batched Sparse LA Phase 5 Implementation

Batched sparse linear algebra operations in general, and solvers in particular, have become the major algorithmic development activity and foremost performance engineering effort in the numerical software libraries work on modern hardware with accelerators such as GPUs. Many applications, ECP and non-ECP alike, require simultaneous solutions of many small linear systems of equations that are structurally sparse in one form or another. In order to move towards high hardware utilization levels, it is important to provide these applications with appropriate interface designs to be both functionally efficient and performance portable and give full access to the appropriate batched sparse solvers running on modern hardware accelerators prevalent across DOE supercomputing sites since the inception of ECP. To this end, we present here a summary of recent advances on the interface designs in use by HPC software libraries supporting batched sparse linear algebra and the development of sparse batched kernel codes for solvers and preconditioners. We also address the potential interoperability opportunities to keep the corresponding software portable between the major hardware accelerators from AMD, Intel, and NVIDIA, while maintaining the appropriate disclosure levels conforming to the active NDA agreements. The presented interface specifications include a mix of batched band, sparse iterative, and sparse direct solvers with their accompanying functionality that is already required by the application codes or we anticipated to be needed in the near future. This report summarizes progress in Kokkos Kernels and the xSDK libraries MAGMA, Ginkgo, hypre, PETSc, and SuperLU.

97 MATHEMATICS AND COMPUTING↗

Current State of Neutron Source Term Calculations

SOURCES-4C has some significant deficiencies that are mostly due to problems with the default data libraries that it uses. Some research groups have modified these libraries to fix most of the problems, but not all of them. Adding modern data libraries to SOURCES-4C is one of the most promising approaches to resolving these issues. Other promising options include using either NEDIS or a GEANT4 tool. Both of these codes approximately match the accuracy of the modified SOURCES-4C code. The NEDIS code is Russian. The GEANT4 tool might be computationally slow and it might also no longer be actively maintained. There are a handful of other (α,n) codes, but they are not accurate.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

FORCE Update 2024

The Framework for Optimization of Resources and Economics (FORCE) tool suite is the U.S. Department of Energy’s Nuclear Integrated Energy Systems (IES) Program flagship tool suite for technoeconomic IES analysis of IES. This tool suite is useful for analysis designed to evaluate and improve the technoeconomics of energy production systems, particularly for systems including nuclear technology. In this report, we document the development activity for the FORCE tool suite to extend its capabilities as performed during fiscal year 2024. In addition to reliability and accessibility, capability is one of the three standards guiding the development of the FORCE tool suite and the software codes that are its constituent parts. Extending the capabilities of the FORCE tool suite allows analysis both within the IES program as well as industry, university, and laboratory partners to perform analysis with more accuracy, insight, and impactful narrative. Four areas of capability development were the focus of activity this year: economic parameter uncertainty quantification, multiresolution analysis, components-to-optimization workflow automation, and statespace construction workflows for real-time optimal control. In economic parameter uncertainty quantification, the ability of HERON to capture risk due to scenarios (weather and energy demand uncertainty) was expanded to also include uncertainties in financial parameters such as capital cost or operation and maintenance costs. By including these sources of uncertainty, which are sometimes very large compared with scenario uncertainty, HERON is better able to capture the risk posed by investment in various IES technology. Because of this, analysts can also consider the reduction in risks that can be realized by choice of some technologies. In multiresolution analysis, development activity extended on work completed previously. In fiscal year 2023, methods for decomposing time series signals, such as demand, solar and wind availability, and price profiles, were analyzed and down-selected to those most effective at splitting signals into different resolutions. These resolutions allow considering the influence of different energy demand and supply behaviors across different time scales. For example, energy demand might be divided into seasonal, weekly, and hourly profiles. In fiscal year 2024, this preliminary work was extended and implemented within the Risk Analysis Virtual Environment (RAVEN) risk and uncertainty analysis platform, which is used throughout the FORCE framework. This development of the “multi-resolution time series analysis” (MR-TSA) module in RAVEN allows training synthetic history generators on complex time series. These synthetic history generators can then be used in HERON for generating scenarios that represent possible market and weather scenarios that can be analyzed on different time scales. We envision completing this work in the future, implementing multiresolution dispatch optimization strategies that can make the most beneficial use of these stratified time histories. In components-to-optimization workflow development, workflows for translating user inputs of components into algorithms for algebraic optimization were selected and implemented. Similar algorithms within the Holistic Energy Resource Optimization Network (HERON) were separated from the main code base of HERON and gathered with the components-to-optimization workflows in the new Dispatch Optimization Variable Engine (DOVE) software library. This modularization allows FORCE users to analyze dispatch optimization and energy system duty cycles independently of HERON, which previously was a burdensome task. Additionally, these dispatch optimization algorithms, set up in an independent library, can now be used across all software applications within FORCE, especially including the real-time optimal control software Optimization of Real-time Capacity Allocation (ORCA). Allowing FORCE software to share dispatch optimization algorithms within a single library allows for improved software maintenance and reliability. In statespace characterization workflow development, alternative workflows for optimizing dispatch with additional technical accuracy was the focus, particularly to improve the real-time optimization decision making in ORCA. Using algorithms and workflows initially developed for the Feasible Actuator Range Modifier (FARM), workflows for determining the statespace representation of IES were identified and demonstrated. The resulting dispatch optimization required a more robust optimization algorithm than that originally used in HERON (and moved to DOVE), which required adding an alternate workflow to DOVE that can more accurately match the behavior of physical systems using a partial differential equation representation. In conclusion, capability developments in the FORCE tool suite in fiscal year 2024 have improved the ability of the FORCE tool suite to perform

29 ENERGY PLANNING, POLICY, AND ECONOMY↗

CSEWG Meeting Minutes

There were many improvements and additions to ENDF/B-VIII.1. We tested four key moderator materials: Be, HF, FLiBe, and graphite. Be-metal moderated critical assemblies of HEU only see 26 pcm difference. Sd library adds new physics to the TSL which improves the agreement with the benchmark. Other changes besides the TSL impact the benchmark: 235U and 9Be. Free gas change affects library heavily, hundreds of pcm in wrong way – need to look at FG libraries. F and Cl TSLs added to 8.1. A 3k pcm disagreement was seen without new TSL. Adding 8.1 + TSL reduces pcm disagreement A LOT.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

R -matrix analysis of n + nat Cl reactions up to 1.2 MeV

The R -matrix analysis of neutron-induced reactions for two stable chlorine isotopes ( 35 Cl and 37 Cl) was performed in the energy range of thermal up to 1.2 MeV. Starting from the repository of the ENDF/B-VIII.0 library and following recent measurement series, this work represents a significant improvement, particularly in the evaluation of the ( n , p ) reaction channel. The evaluation methodology used the R -matrix code SAMMY to generate a set of Reich–Moore resonance parameters for both stable chlorine isotopes. Consistent with recently measured 35 Cl( n , p ) data, the presented evaluation features a dramatic increase in the magnitude of the ( n , p ) reaction channel over the ENDF/B-VIII.1 nuclear data library and previous ENDF/B libraries.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

LDRD Abbreviated report: High-Order General-Discrete-Ordinates Method Enabling Efficient Deterministic Transport in Hydrodynamic Simulations

Deterministic transport simulations for national-security and energy applications often operate in high-dimensional phase-space, where accuracy and cost both become major challenges. A common numerical artifact in such problems is the “ray-effect,” which appears as unphysical streaks. Beyond misinterpretation, these artifacts can contaminate tightly coupled physics, such as fluid dynamics, radiation-hydrodynamics, and laser-plasma interactions, eroding the predictive capability of entire multiphysics workflows. Our objective was to make high-dimension studies practical on modern hardware while mitigating the ray-effect without relying on prohibitively expensive sampling approaches such as Monte Carlo methods. We developed the Generic Discretization Library (GenDiL), a Graphics Processing Unit (GPU)-first framework that uses high-order Discontinuous Galerkin (DG) methods and matrix-free algorithms to reduce memory usage and improve computational efficiency, critical for phase-space simulations. GenDiL supports phase-space adaptivity in both mesh size and polynomial order (hp-adaptivity) to place resolution only where it is needed. A central capability is Local Dimensional Refinement (LDR), which couples lower-dimension continuum models to higher-dimension kinetic models through stable and conservative interfaces, so that high-fidelity physics is applied only in regions where it is essential. Building on the GenDiL framework, we developed the General SN (GSN) family of algorithms as a true generalization of the polar SN approach (discrete ordinates, often denoted SN). Rather than tying discrete ordinates to a specific polar change of coordinates, GSN formulates transport on an arbitrary change of coordinates chosen to reduce ray-effect. We studied two complementary variants: an analytic variant, where the coordinate map is prescribed in advance by a closed-form function; and a data-driven variant, where a quantity of interest, such as the net flux, guides the coordinate system. GenDiL provides the library infrastructure for efficient GPU execution, but the GSN concept is algorithmic and independent of any one library. Across representative high-dimension tests, including non-symmetric solutions, both variants delivered strong ray-effect mitigation at practical cost, moving four- to six-dimensional analysis toward repeatable, routine studies.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Practical Probabilistic Programming

Recent advances in probabilistic programming languages (PPLs) have provided the capability for exact inference: computing a closed-form probability distribution for a given probabilistic program. In particular, the new language Roulette uses a language oriented programming (LOP) approach, wherein analysts build new programming languages on top of a set of primitives provided by Roulette, which then translates these structures into a weighted model counting problem which can be solved by automated reasoning tools. However, because Roulette provides few convenience features, developing these new languages is challenging even for expert users. We developed a standard library of common probability functions for Roulette with the goal of improved usability. This included approximation of continuous probability density functions using discrete probability mass functions. We demonstrated this approach by modeling a cosmic ray striking a RAM controller. We found that Roulette provides a powerful interface for highly expressive probabilistic programs to be generated. In collaboration with the NNSA Advanced Simulation and Computing program, which resulted in development of a tool called Circulette, we were able to model complex circuits expressed in Verilog using probabilistic programs with an expressivity not previously possible. Our research question that motivated the development of a Roulette standard library was to determine whether non-experts could use a PPL to model relevant problems regarding radiation effects on microelectronics. This standard library improved the expressivity of Roulette by implementing common probability density functions, mathematical operators on distributions, and support for empirical distributions. While Roulette is a powerful modeling language, the untyped, LOP approach makes error messages difficult to understand and requires expert aid. We recommend further research on Roulette, especially with its error messages, to enable improved usability. At the same time, this project demonstrated that for users familiar with Roulette and the LOP approach, Roulette provides powerful new capabilities that can be integrated with other Sandia modeling capabilities.

97 MATHEMATICS AND COMPUTING↗

Survey of Neutron Induced Fission Experimental and Evaluated Data for 233 U, 238 Pu, 240 Pu, and 242 Pu between 100 keV and 20 MeV

We review data and evaluations for neutron-induced fission for the actinides 233 U, 238 Pu, 240 Pu and 242 Pu. These isotopes are part of common nuclear fuel cycles, especially for modern fast reactors. We focus on incident neutrons in the energy range of 100 keV to 20 MeV and compare the experimental data from the literature to the major evaluated libraries ENDF/B-VIII.1, JENDL-5, and JEFF-3.3, as well as to LLNL’s ENDL-2009.5 library. Based on the assessment of the fission cross sections, we provide recommendations on which library to use. Additional assessments covering other reaction channels will be provided separately.

07 ISOTOPE AND RADIATION SOURCES↗

Integration of Online Cross-Section Generation Capability with Depletion and Transient Solvers in Griffin

Griffin is a Multiphysics Object-Oriented Simulation Environment (MOOSE)-based reactor multiphysics analysis application jointly developed by Argonne and Idaho National Laboratories under the DOENE Nuclear Energy Advanced Modeling and Simulation (NEAMS) program. In FY25, an online crosssection generation capability based on the Self-Shielding Application Programming Interface (SSAPI) was demonstrated for TRISO-fueled reactor problems under steady-state conditions. This fiscal year, that capability was extended to support depletion and transient multiphysics calculations, enabling high-fidelity analyses that generate self-shielded cross sections on the fly from the actual evolving composition and temperature states rather than from pre-tabulated libraries. For depletion, a two-way coupling was established in which SSAPI computes compact-averaged self-shielded cross sections that the depletion solver then uses to advance the Bateman equations, with the updated compositions returned to SSAPI at each step; the depletion module was refactored to support both library-based and SSAPI-based cross sections, and additional logic was added to track daughter isotopes and to exclude minor isotopes for efficiency. For transient analysis, the SSAPI multigroup library was extended with the kinetics data required for time-dependent calculations, the Improved Quasi-Static (IQS) scheme was coupled with SSAPI, and several supporting capabilities were implemented, including a self-shielding treatment that lets control rods and drums move within a self-shielded model, which had previously been impossible and had ruled out rod- and drum-movement transients with on-the-fly cross sections altogether, a new mixing scheme for delayed-neutron precursor decay constants, a checkpoint-based restart workflow, and performance improvements such as pointwise cross-section interpolation and the bypassing of unnecessary Dancoff factor calculations. The implemented capabilities were verified against Serpent Monte Carlo solutions. For depletion, a prismatic pin-cell problem based on a Next Generation Nuclear Plant (NGNP) Very High Temperature Reactor benchmark showed excellent agreement, with eigenvalue differences within 200 pcm over the entire burnup range (up to 140 MWD/kgU) and fission-product and actinide inventories agreeing to within 0.8% and 2.5%, respectively; a heat-pipe microreactor assembly problem with a much higher fuel loading confirmed the same behavior and quantified the bias introduced when the multigroup equivalence effect is neglected. For transient analysis, a pin-cell problem with a step reactivity insertion and temperature feedback reproduced the analytically expected asymptotic power and showed close agreement between the direct and IQS solutions, and a two-dimensional microreactor core problem with control-drum rotation exercised the new moving-drum self-shielding treatment and demonstrated successful coupling of the online crosssection generation with both the direct and IQS transient methods. The capability was further exercised on a full-core pebble-bed problem, in which Griffin was coupled with the System Analysis Module (SAM) to simulate load-following operation of the gPBR with the Doppler feedback resolved at the TRISO fuel kernel temperature. These developments in Griffin provide a convenient, high-fidelity approach to cross-section generation for advanced thermal reactors with geometrically complex and highly heterogeneous configurations, including TRISO-fueled prismatic and pebble-bed systems, and support steady-state, depletion, and transient multiphysics calculations. They also enable self-shielded cross sections to be evaluated directly at the actual coupled state of the system, thereby establishing a foundation for high-fidelity, fully coupled multiphysics analysis of advanced reactors

Park, H.↗

ZPRD Database: ZPPR-15 Monte Carlo Results

The ZPPR-15 experiments [1] were mockups of a 330 MWe Integral Fast Reactor (IFR). The ZPPR-15 assembly consisted of a clean, two zone, approximately circular core surrounded by a thin depleted uranium (DU) blanket with sodium (Na) cooling and a thick stainless steel reflector. The ZPPR-15 program was conducted in four phases: A, B, C, and D. Each phase was marked by a particular composition of the reference assembly, with the last three being representative of the three stages of the IFR fuel cycle. This report documents all MCNP [2] runs of the ZPPR-15 loadings that were included in the ZPRD database on GitLab. In the present work, eigenvalues and associated standard deviations were computed for each ZPPR-15 loading with the use of the three data libraries (ENDF/B-VII.0 [3], ENDF/B-VII.1 [4] and ENDF/B-VIII.0 [5]). Relevant results from the obtained outputs are also discussed in this report with two main objectives: a) provide and evaluate updated calculated values with respect to previous reports, notably Refs. [6] and [7] that were based on the use of the ENDF/B-VII.0 library. b) address any change in the observed reactivity effects relevant to the analysis of the experimental data when a different data library is used (previously reported results were mostly based on the use of ENDF/B-VII.0 data only).

Aliberti, Gerardo↗

GASNet-EX Specification Collection (Rev. 2024.5.0)

GASNet-EX is a portable, open-source, high-performance communication library designed to efficiently support the networking requirements of PGAS runtime systems and other alternative models in emerging exascale systems. It provides network-independent, high-performance communication primitives including Remote Memory Access (RMA) and Active Messages (AM). GASNet-EX is an evolution of the popular GASNet communication system, building upon over 20 years of lessons learned, and the primary goals are high performance, interface portability, and expressiveness. The library has been used to implement parallel programming models and libraries such as UPC, UPC++, Fortran coarrays, Legion, Chapel, and many others. This anthology collects together the four separate volumes that currently comprise the GASNet-EX specification, as of the 2024.5.0 release of GASNet-EX.

96 KNOWLEDGE MANAGEMENT AND PRESERVATION↗

Parallel Runtime Interface for Fortran (PRIF) Specification (Rev. 0.3)

This document specifies an interface to support the parallel features of Fortran, named the Parallel Runtime Interface for Fortran (PRIF). PRIF is a proposed solution in which the runtime library is responsible for coarray allocation, deallocation and accesses, image synchronization, atomic operations, events, and teams. In this interface, the compiler is responsible for transforming the invocation of Fortran-level parallel features into procedure calls to the necessary PRIF procedures. The interface is designed for portability across shared- and distributed-memory machines, different operating systems, and multiple architectures. Implementations of this interface are intended as an augmentation for the compiler's own runtime library. With an implementation-agnostic interface, alternative parallel runtime libraries may be developed that support the same interface. One benefit of this approach is the ability to vary the communication substrate. A central aim of this document is to define a parallel runtime interface in standard Fortran syntax, which enables us to leverage Fortran to succinctly express various properties of the procedure interfaces, including argument attributes.

97 MATHEMATICS AND COMPUTING↗

Parallel Runtime Interface for Fortran (PRIF) Specification (Rev. 0.5)

This document specifies an interface to support the parallel features of Fortran, named the Parallel Runtime Interface for Fortran (PRIF). PRIF is a proposed solution in which the runtime library is primarily responsible for implementing coarray allocation, deallocation and accesses, image synchronization, atomic operations, events, teams and collective subroutines. In this interface, the compiler is responsible for transforming the invocation of Fortran-level parallel features into procedure calls to the necessary PRIF subroutines. The interface is designed for portability across shared- and distributed-memory machines, different operating systems, and multiple architectures. Implementations of this interface are intended as an augmentation for the compiler's own runtime library. With an implementation-agnostic interface, alternative parallel runtime libraries may be developed that support the same interface. One benefit of this approach is the ability to vary the communication substrate. A central aim of this document is to define a parallel runtime interface in standard Fortran syntax, which enables us to leverage Fortran to succinctly express various properties of the procedure interfaces, including argument attributes.

97 MATHEMATICS AND COMPUTING↗

Parallel Runtime Interface for Fortran (PRIF) Specification (Rev. 0.6)

This document specifies an interface to support the multi-image parallelism features of Fortran, named the Parallel Runtime Interface for Fortran (PRIF). PRIF is a solution in which a runtime library is primarily responsible for implementing coarray allocation, deallocation and accesses, image synchronization, atomic operations, events, teams and collective subroutines. The Fortran compiler is responsible for transforming the invocation of Fortran-level multi-image parallelism features into procedure calls to the necessary PRIF subroutines. The interface is designed for portability across shared- and distributed-memory machines, different operating systems, and multiple architectures. Implementations of this interface are intended as an augmentation for the compiler's own runtime library. With an implementation-agnostic interface, alternative parallel runtime libraries may be developed that support the same interface. One benefit of this approach is the ability to vary the communication substrate. A central aim of this document is to define a parallel runtime interface in standard Fortran syntax, which enables us to leverage Fortran to succinctly express various properties of the procedure interfaces, including argument attributes.

97 MATHEMATICS AND COMPUTING↗