Search NASA⌕ Search

SEARCH · Search NASA

Results for “Computer Programming and software”

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 361 records · Page 20

Detecting Data-Races in High-Performance Computing

High-performance computing is susceptible to data-race bugs. Data races occur when sequences of computed events do not happen in the intended order, a significant barrier to the integrity of parallel programs using shared-memory architectures. Many approaches to data-race detection are based on traditional static-analysis techniques that typically execute on a program’s source code or control-flow graph (the graphical representation of all possible orders of events in the execution of a program). Similar to classical data-flow analyses, such tools can produce false alarms that report spurious race conditions on error free programs. We have developed a software verification technique that requires as input only a program’s source code and can automatically detect a data-race bug which definitely exists, determine that a program is definitely data-race free, or report that it cannot determine either of the two cases.

97 MATHEMATICS AND COMPUTING↗

The VTK-m Users' Guide (V.2.0)

High-performance computing relies on ever finer threading. Advances in processor technology include ever greater numbers of cores, hyperthreading, accelerators with integrated blocks of cores, and special vectorized instructions, all of which require more software parallelism to achieve peak performance. Traditional visualization solutions cannot support this extreme level of concurrency. Extreme scale systems require a new programming model and a fundamental change in how we design algorithms. To address these issues we created VTK-m: the visualization toolkit for multi-/many-core architectures. VTK-m supports a number of algorithms and the ability to design further algorithms through a top-down design with an emphasis on extreme parallelism. VTK-m also provides support for finding and building links across topologies, making it possible to perform operations that determine manifold surfaces, interpolate generated values, and find adjacencies. Although VTK-m provides a simplified high-level interface for programming, its template-based code removes the overhead of abstraction. VTK-m simplifies the development of parallel scientific visualization algorithms by providing a framework of supporting functionality that allows developers to focus on visualization operations. Consider the listings in Figure 1.1 that compares the size of the implementation for the Marching Cubes algorithm in VTK-m with the equivalent reference implementation in the CUDA software development kit. Because VTK-m internally manages the parallel distribution of work and data, the VTK-m implementation is shorter and easier to maintain. Additionally, VTK-m provides data abstractions not provided by other libraries that make code written in VTK-m more versatile.

97 MATHEMATICS AND COMPUTING↗

Geohydrodynamic Parameters and Their Implications on the Coastal Conservation: A Case Study of Abak Local Government Area (LGA), Akwa Ibom State, Southern Nigeria

A total of 14 vertical electrical soundings using Schlumberger electrode configuration and the complementary laboratory analysis of aquifer samples were carried out in the Abak Local Government Area of Akwa Ibom State, the coastal region of Nigeria. The study focused on the estimation of geohydrodynamic parameters of the frequently exploited aquifers and the implication of hydrodynamic parameters on the lithostratigraphy and the anticipated exposure of the assessed geologic formation at the shorelines. These parameters were porosity (ϕ), tortuosity (τ), formation factor (F), aquifer water formation resistivity (R{sub w}) and coefficient of permeability/hydraulic conductivity (K). Computation of the effective porosities from the aquifer cuttings was carried out using wet weight–dry weight technique and petrophysical techniques. The F values were computed using the aquifer formation bulk resistivity measured from field 1-D resistivity data analysis, whose interpretation was constrained by nearby borehole information. The formation pore water resistivities were estimated from the laboratory using electrical resistivity metre. The Win RESIST software program was used in interpreting the field data electronically. The results of interpretation gave the primary parameters of saturated and unsaturated units of the coastal regions used in this work. The area generally shows seemingly high porosity with high coefficient of permeability. The primary and secondary parameters have been contoured to model their distributions. Besides, some functional relations have been realized through regression analyses. The contour distribution of the geohydrodynamic parameters indicates the vulnerability of the water repositories to contaminations as well as the vulnerability of the shoreline to waterborne erosion. The seemingly high effective porosity in the compliant laboratory and calculated values indicate that the coastal region is neither lithified nor compacted/consolidated. This signals the possibility of the formation to be easily eroded, weathered or flooded where these units are exposed to water current. With these revelations, the shorelines could be properly managed and conserved by geotechnically reinforcing with hard and water-resistant concrete that can protect the vulnerable and erosion-prone porous sediments.

58 GEOSCIENCES↗

Two (or more) for one: Identifying classes of household energy- and water-saving measures to understand the potential for positive spillover

A key component of behavior-based energy conservation programs is the identification of target behaviors. A common approach is to target behaviors with the greatest energy-saving potential. The concept of behavioral spillover introduces further considerations, namely that adoption of one energy-saving behavior may increase (or decrease) the likelihood of other energy-saving behaviors. This research aimed to identify and describe household energy- and water-saving measure classes within which positive spillover is likely to occur (e.g., adoption of energy-efficient appliances may correlate with adoption of water-efficient appliances), and explore demographic and psychographic predictors of each. Nearly 1,000 households in a California city were surveyed and asked to report whether they had adopted 75 different energy- and/or water-saving measures. Principal Component Analysis and Network Analysis based on correlations between adoption of these diverse measures revealed and characterized eight water-energy-saving measure classes: Water Conservation, Energy Conservation, Maintenance and Management, Efficient Appliance, Advanced Efficiency, Efficient Irrigation, Green Gardening, and Green Landscaping. Understanding these measure classes can help guide behavior-based energy program developers in selecting target behaviors and designing interventions.

32 ENERGY CONSERVATION, CONSUMPTION, AND UTILIZATI↗

Improving the Capabilities and Computational Efficiency of the RTE+RRTMGP Radiation Code (Final Report)

This report details progress on the RTE+RRTMGP radiation codes made during the period of performance. RTE+RRTMGP is a set of codes for computing radiative fluxes in planetary atmospheres. RRTMGP uses a k-distribution to provide an optical description (absorption and possibly Rayleigh optical depth) of the gaseous atmosphere, along with the relevant source functions, on a pre-determined spectral grid given temperatures, pressures, and gas concentration. RTE computes fluxes given spectrally-resolved optical descriptions and source functions. Spectrally-resolved fluxes are summarized (“reduced”) via a user extensible class. The initial release of the code and the design choices are described in Pincus et al. 2019; the codes are available on Github. Although RRTMGP was based on current (at the time) empirical spectroscopic data, RTE and RRTMGP were developed in large part to modernize software practices. The design focused on flexibility broadly interpreted: by separating code from data and allowing data to drive computation; in coupling to the host model (e.g. the coupling of clouds to radiative fluxes is user-controlled); with respect to programming languages (computational tasks are accessed via widely-compatible C interfaces); and with respect to hardware (the codes run on a range of CPU and GPU architectures). The code also puts an emphasis on modularity and clarity. RTE+RRTMGP v1.0 was released in September 20219. This award supported the evolution of the RTE+RRTMGP code base to support greater flexibility, accuracy, and efficiency.

54 ENVIRONMENTAL SCIENCES↗

The VTK-m User's Guide (V. 2.2)

High-performance computing relies on ever finer threading. Advances in processor technology include ever greater numbers of cores, hyperthreading, accelerators with integrated blocks of cores, and special vectorized instructions, all of which require more software parallelism to achieve peak performance. Traditional visualization solutions cannot support this extreme level of concurrency. Extreme scale systems require a new programming model and a fundamental change in how we design algorithms. To address these issues we created VTK-m: the visualization toolkit for multi-/many-core architectures. VTK-m supports a number of algorithms and the ability to design further algorithms through a top-down design with an emphasis on extreme parallelism. VTK-m also provides support for finding and building links across topologies, making it possible to perform operations that determine manifold surfaces, interpolate generated values, and find adjacencies. Although VTK-m provides a simplified high-level interface for programming, its template-based code removes the overhead of abstraction.

97 MATHEMATICS AND COMPUTING↗

The Viskores User's Guide, Release 1.1

High-performance computing relies on ever finer threading. Advances in processor technology include ever greater numbers of cores, hyperthreading, accelerators with integrated blocks of cores, and special vectorized instructions, all of which require more software parallelism to achieve peak performance. Traditional visualization solutions cannot support this extreme level of concurrency. Extreme scale systems require a new programming model and a fundamental change in how we design algorithms. To address these issues we created Viskores: the visualization toolkit for multi/many-core architectures. Viskores supports a number of algorithms and the ability to design further algorithms through a top-down design with an emphasis on extreme parallelism. Viskores also provides support for finding and building links across topologies, making it possible to perform operations that determine manifold surfaces, interpolate generated values, and find adjacencies. Although Viskores provides a simplified high-level interface for programming, its template-based code removes the overhead of abstraction.

97 MATHEMATICS AND COMPUTING↗

The Viskores User's Guide (V.1.0)

High-performance computing relies on ever finer threading. Advances in processor technology include ever greater numbers of cores, hyperthreading, accelerators with integrated blocks of cores, and special vectorized instructions, all of which require more software parallelism to achieve peak performance. Traditional visualization solutions cannot support this extreme level of concurrency. Extreme scale systems require a new programming model and a fundamental change in how we design algorithms. To address these issues we created Viskores: the visualization toolkit for multi-/many-core architectures. Viskores supports a number of algorithms and the ability to design further algorithms through a top-down design with an emphasis on extreme parallelism. Viskores also provides support for finding and building links across topologies, making it possible to perform operations that determine manifold surfaces, interpolate generated values, and find adjacencies. Although Viskores provides a simplified high-level interface for programming, its template-based code removes the overhead of abstraction.

97 MATHEMATICS AND COMPUTING↗

Sandia Toolkit Manual Version 5.15.6

This report provides documentation for the Sandia Toolkit (STK) modules. STK modules are intended to provide infrastructure that assists the development of computational engineering software such as finite-element analysis applications. STK includes modules for unstructured-mesh data structures, reading/writing mesh files, geometric proximity search, and various utilities. This document contains a chapter for each module, and each chapter contains overview descriptions and usage examples. Usage examples are primarily code listings which are generated from working test programs that are included in the STK code-base. A goal of this approach is to ensure that the usage examples will not fall out of date.

97 MATHEMATICS AND COMPUTING↗

Performance of the CMS high-level trigger during LHC Run 2

The CERN LHC provided proton and heavy ion collisions during its Run 2 operation period from 2015 to 2018. Proton-proton collisions reached a peak instantaneous luminosity of 2.1× 10 34 cm -2 s -1 , twice the initial design value, at √(s)=13 TeV. The CMS experiment records a subset of the collisions for further processing as part of its online selection of data for physics analyses, using a two-level trigger system: the Level-1 trigger, implemented in custom-designed electronics, and the high-level trigger, a streamlined version of the offline reconstruction software running on a large computer farm. This paper presents the performance of the CMS high-level trigger system during LHC Run 2 for physics objects, such as leptons, jets, and missing transverse momentum, which meet the broad needs of the CMS physics program and the challenge of the evolving LHC and detector conditions. Sophisticated algorithms that were originally used in offline reconstruction were deployed online. Highlights include a machine-learning b tagging algorithm and a reconstruction algorithm for tau leptons that decay hadronically.

46 INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND ↗

IDAC-Dose 2.1, an internal dosimetry program for diagnostic nuclear medicine based on the ICRP adult reference voxel phantoms

To date, the estimated radiation-absorbed dose to organs and tissues in patients undergoing diagnostic examinations in nuclear medicine is derived via calculations based on models of the human body and the biokinetic behaviour of the radiopharmaceutical. An internal dosimetry computer program, IDAC-Dose2.1, was developed based on the International Commission on Radiological Protection (ICRP)-specific absorbed fractions and computational framework of internal dose assessment given for reference adults in ICRP Publication 133. The program uses the radionuclide decay database of ICRP Publication 107 and considers 83 different source regions irradiating 47 target tissues, defining the effective dose as presented in ICRP Publications 60 and 103. The computer program was validated against another ICRP dosimetry program, Dose and Risk Calculation (DCAL), that employs the same computational framework in evaluation of occupational and environmental intakes of radionuclides. IDAC-Dose2.1 has a sub-module for absorbed dose calculations in spherical structures of different volumes and composition; this sub-module is intended for absorbed dose estimates in radiopharmaceutical therapy. For nine specific alpha emitters, the absorbed dose contribution from their decay products is also included in the committed absorbed dose calculations. The absorbed doses and effective dose of 131 I-iodide determined by IDAC-Dose2.1 were validated against the dosimetry program DCAL, showing identical results. IDAC-Dose2.1 was used to calculate absorbed doses for intravenously administered 18 F-FDG and orally administered 99m Tc-pertechnetate and 131 I-iodide, three frequently used radiopharmaceuticals. Using the tissue weighting factors from ICRP Publication 103, the effective dose per administered activity was estimated to be 0.016 mSv/MBq for 18 F-FDG, 0.014 mSv/MBq for 99m Tc-pertechnetate, and 16 mSv/MBq for 131 I-iodide. The internal dosimetry program IDAC-Dose2.1 was developed and applied to three radiopharmaceuticals for validation against DCAL and to generate improved absorbed dose estimations for diagnostic nuclear medicine using specific absorbed fraction values of the ICRP computational voxel phantoms. The sub-module for absorbed dose calculations in spherical structures 1 mm to 9 cm in diameter and different tissue composition was included to broaden the clinical usefulness of the program. The IDAC-Dose2.1 program is free software for research and available for download at http://www.idac-dose.org.

62 RADIOLOGY AND NUCLEAR MEDICINE↗

TINES - Time Integration, Newton and Eigen Solver v. 1.0

SAND2021-1505 O. TINES is an open source software providing math infrastructure for solving many stiff time ordinary differential equations (ODEs) and/or differential algebraic equations (DAEs) using a batch hierarchical parallelism. The code is written using a parallel programming model (i.e., Kokkos) to future-proof the next generation parallel computing platforms such as GPU accelerators. This code is developed to support Exascale Catalytic Chemistry (ECC) Project. The code provides fundamental math helpers that can aid other research projects. Sandia National Laboratories is a multimission laboratory managed and operated by National Technology & Engineering Solutions of Sandia, LLC, a wholly owned subsidiary of Honeywell International Inc., for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-NA0003525.

Kim, Kyungjoo↗

Sorption Modeling and Verification for Off-Gas Treatment

This project was successfully executed to provide valuable adsorption data and improve a comprehensive model developed in previous work by the authors. Data obtained were used in an integrated computer program to predict the behavior of adsorption columns. The model is supported by experimental data and has been shown to predict capture of off gas similar to that evolving during the reprocessing of nuclear waste. The computer program structure contains (a) equilibrium models of off-gases with the adsorbate; (b) mass-transfer models to describe off-gas mass transfer to a particle, diffusion through the pores of the particle, and adsorption on the active sites of the particle; and (c) incorporation of these models into fixed bed adsorption modeling, which includes advection through the bed. These models are being connected with the MOOSE (Multiphysics Object-Oriented Simulation Environment) software developed at the Idaho National Laboratory through DGOSPREY (Discontinuous Galerkin Off-gas SeParation and REcoverY) computer codes developed in this project. Experiments for iodine and water adsorption have been conducted on reduced silver mordenite (Ag0Z) for single layered particles. Adsorption apparatuses have been constructed to execute these experiments over a useful range of conditions for temperatures ranging from ambient to 250°C and water dew points ranging from -69 to 19°C. Experimental results were analyzed to determine mass transfer and diffusion of these gases into the particles and to determine which models best describe the single and binary component mass transfer and diffusion processes. The experimental results were also used to demonstrate the capabilities of the comprehensive models developed to predict single-particle adsorption and transients of the adsorption-desorption processes in fixed beds. Models for adsorption and mass transfer have been developed to mathematically describe adsorption kinetics and transport via diffusion and advection processes. These models were built on a numerical framework for solving conservation law problems in one-dimensional geometries such as spheres, cylinders, and lines. Coupled with the framework are specific models for adsorption in commercial adsorbents, such as zeolites and mordenites. Utilizing this modeling approach, the authors were able to accurately describe and predict adsorption kinetic data obtained from experiments at a variety of different temperatures and gas phase concentrations. A demonstration of how these models, and framework, can be used to simulate adsorption in fixed- bed columns is provided. The CO 2 absorption work involved modeling with supportive experimental information. A dynamic model was developed to simulate CO 2 absorption using high alkaline content water solutions. The model is based upon transient mass and energy balances for chemical species commonly present in CO 2 absorption. A computer code was developed to implement CO 2 absorption with a chemical reaction model. Experiments were conducted in a laboratory scale column to determine the model parameters. The influence of geometric parameters and operating variables on CO 2 absorption was studied over a wide range of conditions. Continuing work could employ the model to control column operation and predict the absorption behavior under various input conditions and other prescribed experimental perturbations. The value of the validated models and numerical frameworks developed in this project is that they can be used to predict the sorption behavior of off-gas evolved during the reprocessing of nuclear waste and thus reduce the cost of the experiments. They can also be used to design sorption processes based on concentration limits and flow-rates determined at the plant level.

42 ENGINEERING↗

Potential Ideas for an El Capitan Center of Excellence (COE) Around Intelligent Simulation

Proposing a Center of Excellence under the CORAL-2 NRE is a mandatory requirement. The current Sierra COE (CORAL-1) is largely focused on helping LLNL applications make the disruptive transition to a heterogeneous GPU-based system by 2018. We expect a continuation of COE activities around optimizing our broad and diverse application base (of so-called “traditional” simulation codes) optimized for the El Capitan architecture, as well as supporting the underlying software stack (compilers, tools, programming models, etc.) – but do not expect this to require as much effort in the El Capitan COE (assuming a heterogeneous node architecture). What follows are some thoughts on 3 potential topics of interest for an El Capitan COE at LLNL – largely focused around AI and machine learning and the concept of advancing our goal of intelligent simulation or cognitive computing in the timeframe of deployment and production use of El Capitan (2023-2038). We believe vendor engagement through a COE in this area will provide a natural point-of-interest between LLNL and our vendor partner for common advancement of machine learning capabilities focused on scientific data – potentially greatly broadening the ecosystem around HPC architectures and the supporting software stack for scientific simulation-based AI.

97 MATHEMATICS AND COMPUTING↗

VTK-m User's' Guide (V.1.7)

High-performance computing relies on ever finer threading. Advances in processor technology include ever greater numbers of cores, hyperthreading, accelerators with integrated blocks of cores, and special vectorized instructions, all of which require more software parallelism to achieve peak performance. Traditional visualization solutions cannot support this extreme level of concurrency. Extreme scale systems require a new programming model and a fundamental change in how we design algorithms. To address these issues we created VTK-m: the visualization toolkit for multi-/many-core architectures. VTK-m supports a number of algorithms and the ability to design further algorithms through a top-down design with an emphasis on extreme parallelism. VTK-m also provides support for finding and building links across topologies, making it possible to perform operations that determine manifold surfaces, interpolate generated values, and find adjacencies. Although VTK-m provides a simplified high-level interface for programming, its template-based code removes the overhead of abstraction. VTK-m simplifies the development of parallel scientific visualization algorithms by providing a framework of supporting functionality that allows developers to focus on visualization operations. Consider the listings in Figure 1.1 that compares the size of the implementation for the Marching Cubes algorithm in VTK-m with the equivalent reference implementation in the CUDA software development kit. Because VTK-m internally manages the parallel distribution of work and data, the VTK-m implementation is shorter and easier to maintain. Additionally, VTK-m provides data abstractions not provided by other libraries that make code written in VTK-m more versatile.This book includes contributions from the VTK-m community including the VTK-m development team and the user community.

97 MATHEMATICS AND COMPUTING↗

Software Quality Assurance, Software Requirements and Gap Analysis for the MOOSE-Based Open-Source Multiphysics Code Cardinal

Cardinal continuous development and improvement efforts have led to the software being considered as a high-fidelity design and licensing tool for key areas of nuclear reactor relevant physics, including neutron transport, fluid flow, heat transfer, and mechanical processes. The fast development and expansion of the software from a pure R&D framework towards its application in the nuclear industry and regulation require a focus on maintaining and enhancing Cardinal’s software quality through strict adherence to a Software Quality Assurance (SQA) framework. To facilitate compliance with SQA standards, the Cardinal SQA Program has been initiated during Fiscal Year 2023 (FY23).

97 MATHEMATICS AND COMPUTING↗

Verification of the EvaluateFlux Utility Program

The EvaluateFlux program is a post-processing utility program for DIF3D, specifically DIF3D-VARIANT which handles Cartesian and hexagonal geometries. The EvaluateFlux program was developed to allow users to obtain flux and power traverses through the geometry domain, and its initial purpose was to facilitate foil analysis by evaluating the flux solution from DIF3D-VARIANT and combining it with foil cross section data. The EvaluateFlux program can calculate the neutron flux, as well as the reaction rates, at any user provided evaluation point. It does this by identifying the spatial mesh associated with the evaluation point and then evaluates the polynomial based neutron flux moments stored in the NHFLUX file at that point. The output of EvaluateFlux varies depending on the input setup. The maximum output includes the neutron flux and microscopic and macroscopic reaction rates at each evaluation point. The purpose of this work is to verify the outputs of EvaluateFlux. Simple models that have hand calculatable results are first defined and used to verify the EvaluateFlux outputs. More complex cases are then added where a duplicate program of EvaluateFlux that uses PrintTables outputs of the binary files is used to verify the EvaluateFlux outputs. In those complex cases, hand calculations of selected evaluation points were also displayed to confirm the software verification. For all the tests done, the hand calculations agreed well with those calculated by EvaluateFlux. For the larger complex problems, the duplicate program that can process hundreds of evaluation points was able to identify that zero points within some meshes have large errors. This aspect was attributed to the truncation error on the input provided to the duplicate program and is not a concern for the accuracy of the EvaluateFlux software.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

Traveler: Navigating Task Parallel Traces for Performance Analysis

Understanding the behavior of software in execution is a key step in identifying and fixing performance issues. This is especially important in high performance computing contexts where even minor performance tweaks can translate into large savings in terms of computational resource use. To aid performance analysis, developers may collect an execution trace —a chronological log of program activity during execution. As traces represent the full history, developers can discover a wide array of possibly previously unknown performance issues, making them an important artifact for exploratory performance analysis. However, interactive trace visualization is difficult due to issues of data size and complexity of meaning. Traces represent nanosecond-level events across many parallel processes, meaning the collected data is often large and difficult to explore. The rise of asynchronous task parallel programming paradigms complicates the relation between events and their probable cause. Here, to address these challenges, we conduct a continuing design study in collaboration with high performance computing researchers. We develop diverse and hierarchical ways to navigate and represent execution trace data in support of their trace analysis tasks. Through an iterative design process, we developed Traveler , an integrated visualization platform for task parallel traces. Traveler provides multiple linked interfaces to help navigate trace data from multiple contexts. We evaluate the utility of Traveler through feedback from users and a case study, finding that integrating multiple modes of navigation in our design supported performance analysis tasks and led to the discovery of previously unknown behavior in a distributed array library.

97 MATHEMATICS AND COMPUTING↗