Search NASA⌕ Search

SEARCH · Search NASA

Results for “debugging”

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 127 records · Page 7

RELAP5-3D Developer Guidelines and Programming Practices

Our ultimate goal is to create and maintain RELAP5-3D as the best software tool available to analyze nuclear power plants. This begins with writing excellent programming and requires thorough testing. This document covers development of RELAP5-3D software, the behavior of the RELAP5-3D program that must be maintained, and code testing. RELAP5-3D must perform in a manner consistent with previous code versions with backward compatibility for the sake of the users. Thus file operations, code termination, input and output must remain consistent in form and content while adding appropriate new files, input and output as new features are developed. As computer hardware, operating systems, and other software change, RELAP5-3D must adapt and maintain performance. The code must be thoroughly tested to ensure that it continues to perform robustly on the supported platforms. The coding must be written in a consistent manner that makes the program easy to read to reduce the time and cost of development, maintenance and error resolution. The programming guidelines presented her are intended to institutionalize a consistent way of writing FORTRAN code for the RELAP5-3D computer program that will minimize errors and rework. A common format and organization of program units creates a unifying look and feel to the code. This in turn increases readability and reduces time required for maintenance, development and debugging. It also aids new programmers in reading and understanding the program. Therefore, when undertaking development of the RELAP5-3D computer program, the programmer must write computer code that follows these guidelines. This set of programming guidelines creates a framework of good programming practices, such as initialization, structured programming, and vector-friendly coding. It sets out formatting rules for lines of code, such as indentation, capitalization, spacing, etc. It creates limits on program units, such as subprograms, functions, and modules. It establishes documentation guidance on internal comments. The guidelines apply to both existing and new subprograms. They are written for both FORTRAN 77 and FORTRAN 95. The guidelines are not so rigorous as to inhibit a programmer’s unique style, but do restrict the variations in acceptable coding to create sufficient commonality that new readers will find the coding in each new subroutine familiar. It is recognized that this is a “living” document and must be updated as languages, compilers, and computer hardware and software evolve.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

Final Report

The goal of this project was to create a community tool infrastructure for program development tools targeting Petascale class machines and beyond. This includes performance analysis, debugging, and correctness tools, as well as tuning and optimization frameworks. The infrastructure provides a comprehensive and extensible set of individual tool building components. Within this project we developed the basis for this infrastructure as well as set of core modules that allow a comprehensive performance analysis at scale. Further, we developed a methodology and workflow that allows others to add or replace modules, to integrate parts into their own tools, or to customize existing solutions.

97 MATHEMATICS AND COMPUTING↗

Turbocharging Quantum Tomography

Quantum tomography is used to characterize quantum operations implemented in quantum information processing (QIP) hardware. Traditionally, state tomography has been used to characterize the quantum state prepared in an initialization procedure, while quantum process tomography is used to characterize dynamical operations on a QIP system. As such, tomography is critical to the development of QIP hardware (since it is necessary both for debugging and validating as-built devices, and its results are used to influence the next generation of devices). But tomography suffers from several critical drawbacks. In this report, we present new research that resolves several of these flaws. We describe a new form of tomography called gate set tomography (GST), which unifies state and process tomography, avoids prior methods critical reliance on precalibrated operations that are not generally available, and can achieve unprecedented accuracies. We report on theory and experimental development of adaptive tomography protocols that achieve far higher fidelity in state reconstruction than non-adaptive methods. Finally, we present a new theoretical and experimental analysis of process tomography on multispin systems, and demonstrate how to more effectively detect and characterize quantum noise using carefully tailored ensembles of input states.

97 MATHEMATICS AND COMPUTING↗

Sight Application Analysis Tool

The scale and complexity of scientific applications makes it very difficult to optimize, debug and extend them to support new capabilities. We have developed a tool that supports developers’ efforts to understand the logical flow of their applications and interactions between application components and hardware in a way that scales with application complexity and parallelism.

97 MATHEMATICS AND COMPUTING↗

Using Discrete Event Simulation for Programming Model Exploration at Extreme-Scale: Macroscale Components for the Structural Simulation Toolkit (SST).

Discrete event simulation provides a powerful mechanism for designing and testing new extreme- scale programming models for high-performance computing. Rather than debug, run, and wait for results on an actual system, design can first iterate through a simulator. This is particularly useful when test beds cannot be used, i.e. to explore hardware or scales that do not yet exist or are inaccessible. Here we detail the macroscale components of the structural simulation toolkit (SST). Instead of depending on trace replay or state machines, the simulator is architected to execute real code on real software stacks. Our particular user-space threading framework allows massive scales to be simulated even on small clusters. The link between the discrete event core and the threading framework allows interesting performance metrics like call graphs to be collected from a simulated run. Performance analysis via simulation can thus become an important phase in extreme-scale programming model and runtime system design via the SST macroscale components.

97 MATHEMATICS AND COMPUTING↗

Characterizing Quantum Devices Using Model Selection

Quantum information processors are a new kind of computing device with the potential to solve certain problems very quickly. The quantum bits, or "ʺqubits,"ʺ that enable such processors are being developed at Sandia and around the world. In support of this effort, Sandia’s Center for Computing Research is designing methods and algorithms to characterize and debug the behavior of experimental qubits, such as trapped ions and electron spins in silicon. This is a challenge, because qubits are hard to characterize for exactly the same reason that they are powerful. Their behavior (and misbehavior) is far richer and more complicated than that of classical bits! The most reliable models of quantum errors have infinitely many parameters, and we never have enough data to fit all of them. Until now, researchers simply threw out most of these parameters resulting in a crude approximation that makes the problem tractable, but isn’t reliable or accurate enough for Sandia’s experimental work. Our new techniques use statistical model selection to identify “significant” error parameters on the fly, applying a data-­‐‑driven information criterion to choose a Hilbert space that describes the data well without overfitting. To find a reliable criterion, we needed to evaluate many candidates on an enormous corpus of test cases–for which we relied on Red Sky’s ability to run parallel Monte Carlo simulations. Our computations demonstrate how classic model selection methods have to be modified for quantum devices. These results will enable new techniques that identify the effective dimension of as-­‐‑built qubits on the fly, and then use this information to reliably pin down error behaviors and produce successively better and more useful qubits. This project highlights the close and productive relationship between Sandia and the University of New Mexico, where Travis Scholten is working towards a Ph.D. in physics. Both the intellectual environment of UNM and the high-­‐‑powered supercomputing available at Sandia were critical ingredients in achieving our research goals.

97 MATHEMATICS AND COMPUTING↗

Report on activities and findings under DOE grant “Collaborative research. An Interactive Multi-Model for Consensus on Climate Change”

The project takes a hierarchical approach. The supermodeling scheme was first studied exhaustively with simple systems of ordinary differential equations. Results were described in detail in the previous report. The principal findings were that 1) for highly non-linear systems, such as Lorenz-63, including systems which describe phenomena on very different (atmosphere/ocean) times scales, supermodeling is far superior to any form of output-averaging; 2) negative coefficients can be used to advantage in situations where all models err in the same way, but to different degrees; 3) an interesting variant of supermodeling, “weighted supermodeling”, is the limiting case where inter-model nudging coefficients in the originally conceived “connected supermodel” become infinite, but with fixed ratios, corresponding to a direct combination of the tendencies that appear in corresponding equations for the alternative models; 4) noise is useful for avoiding local optima in training the inter-model coefficients in the supermodel. The supermodeling scheme was then investigated with simple quasigeostrophic (QG) models. As described in the previous report, it was found that QG models on a sphere can be coupled most efficaciously by working in a basis which captures the most variance, rather than the most instability, a somewhat unexpected result that still deserves scrutiny in a broader context. Further studies (since the last report) with QG channel models addressed the central question of when supermodeling is superior to output averaging in situations where nonlinearites are less extreme than with the ODEs initially studied. It was found that for realistic variations in a parameter in the QG model, output averaging is sufficient to capture all but the most subtle quantitative and qualitative behavior. Supermodeling helps when qualitative differences between the models result from unrealistically large parameter differences, or when very detailed spatial structure of the modes of variability are of interest. Therefore, the scheme may still be useful in the case of full climate models with qualitatively different parametrization schemes. A supermodel was constructed from the intermediate-complexity SPEEDO model, a primitive equation model with ocean and land. Versions defined by different parameter choices, in a realistic range, were connected and the coefficients trained. Some improvement was found as compared to output averaging. The learning algorithm used thus far gives sub-optimal, but still useful results when the CO 2 level and other parameters are varied. Spatial structure remains to be studied. The first use of supermodeling with full climate models has been with variants of the ECHAM model that use different convection schemes. As yet the models are only connected at the ocean-atmosphere interface, where weighted combinations of fluxes from the two atmospheres are passed to a common ocean, and the weights adapted during a training period. The supermodel was surprisingly successful at avoiding unrealistic features such as the double-ITCZ (Intertropical Convergence Zone), a problem that arises in both of the two models run separately. The supermodels constructed thus far have not identified dynamical regime shifts in future climate. Thus the planned connection with the work of Tsonis on the relationship between regime shifts and synchronization/de-synchronization among the major climate modes (see U. Wisconsin report) has not yet been made. However the network analysis of the climate system, in observations and models, that was done in conjunction with that study, shows that models differ strongly from one another and from observations in regard to the dynamical structure described by correlation networks [Steinhaeuser and Tsonis 2013], providing a further justification for supermodeling. Toward a general software framework for supermodeling, three versions of CAM (the Community Atmosphere Model) at NCAR were configured for inter-model nudging using the DART (Data Assimilation Research Testbed) capability to stop and re-start models in synchrony. It was clearly established that the inter-model nudging adds almost no computational burden to the runs, but there appears to be a problem with the re-initialization software that is still being debugged. Publications: Several papers were published on the basic idea of the interactive multi-model (supermodel) including demonstrations with low-order ODEs. The last of these, a semi-philosophical review paper on the relevance of synchronization generally, encountered considerable resistance but was finally published in Entropy [Duane 2015]. A paper on the ECHAM/COSMOS supermodel, containing the most promising results so far [Shen et al. 2015] is presently under review.

58 GEOSCIENCES↗

Planning for Pre-Exascale Platform Environment (Fiscal Year 2015 Level 2 Milestone 5216)

This Plan for ASC Pre-Exascale Platform Environments document constitutes the deliverable for the fiscal year 2015 (FY15) Advanced Simulation and Computing (ASC) Program Level 2 milestone Planning for Pre-Exascale Platform Environment. It acknowledges and quantifies challenges and recognized gaps for moving the ASC Program towards effective use of exascale platforms and recommends strategies to address these gaps. This document also presents an update to the concerns, strategies, and plans presented in the FY08 predecessor document that dealt with the upcoming (at the time) petascale high performance computing (HPC) platforms. With the looming push towards exascale systems, a review of the earlier document was appropriate in light of the myriad architectural choices currently under consideration. The ASC Program believes the platforms to be fielded in the 2020s will be fundamentally different systems that stress ASC’s ability to modify codes to take full advantage of new or unique features. In addition, the scale of components will increase the difficulty of maintaining an errorfree system, thus driving new approaches to resilience and error detection/correction. The code revamps of the past, from serial- to vector-centric code to distributed memory to threaded implementations, will be revisited as codes adapt to a new message passing interface (MPI) plus “x” or more advanced and dynamic programming models based on architectural specifics. Development efforts are already underway in some cases, and more difficult or uncertain aspects of the new architectures will require research and analysis that may inform future directions for program choices. In addition, the potential diversity of system architectures may require parallel if not duplicative efforts to analyze and modify environments, codes, subsystems, libraries, debugging tools, and performance analysis techniques as well as exploring new monitoring methodologies. It is difficult if not impossible to selectively eliminate some of these activities until more information is available through simulations of potential architectures, analysis of systems designs, and informed study of commodity technologies that will be the constituent parts of future platforms.

97 MATHEMATICS AND COMPUTING↗

New Routes for the Production of Fission Products and Their Separation from the Source Material for the Development of Realistic Nuclear Forensic Debris

In order to fully characterize the NIF neutron spectrum, SAND-II-SNL software was requested/received from the Radiation Safety Information Computational Center. The software is designed to determine the neutron energy spectrum through analysis of experimental activation data. However, given that the source code was developed in Sparcstation 10, it is not compatible with current version of FORTRAN. Accounts have been established through the Lawrence Livermore National Laboratory’s High Performance Computing in order to access different compiles for FORTRAN (e.g. pgf77, pgf90). Additionally, several of the subroutines included in the SAND-II-SNL package have required debugging efforts to allow for proper compiling of the code.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

Deciphering Adsorption Structure on Insulators at the Atomic Scale

We applied Scanning Probe Microscopy and Density Functional Theory (DFT) to discover the basics of how adsorbates wet insulating substrates, addressing a key question in geochemistry. To allow experiments on insulating samples we added Atomic Force Microscopy (AFM) capability to our existing UHV Scanning Tunneling Microscope (STM). This was accomplished by integrating and debugging a commercial qPlus AFM upgrade. Examining up-to-40-nm-thick water films grown in vacuum we found that the exact nature of the growth spirals forming around dislocations determines what structure of ice, cubic or hexagonal, is formed at low temperature. DFT revealed that wetting of mica is controlled by how exactly a water layer wraps around (hydrates) the K + ions that protrude from the mica surface. DFT also sheds light on the experimentally observed extreme sensitivity of the mica surface to preparation conditions: K atoms can easily be rinsed off by water flowing past the mica surface.

33 ADVANCED PROPULSION SYSTEMS↗

MELCOR/CONTAIN LMR Implementation Report - FY16 Progress.

This report describes the progress of the CONTAIN - LMR sodium physics and chemistry models to be implemented in MELCOR 2.1. In the past three years , the implementation included the addition of sodium equations of state and sodium properties from two different sources. The first source is based on the previous work done by Idaho National Laboratory by modifying MELCOR to include liquid lithium equation of state as a working fluid to model the nuclear fusion safety research. The second source uses properties generated for the SIMMER code. The implemented modeling has been tested and results are reported in this document. In addition, the CONTAIN - LMR code was derived from an early version of the CONTAIN code, and many physical models that were developed since this early version of CONTAIN are not available in this early code version. Therefore, CONTAIN 2 has been updated with the sodium models in CONTAIN - LMR as CONTAIN2 - LMR, which may be used to provide code-to-code comparison with CONTAIN - LMR and MELCOR when the sodium chemistry models from CONTAIN - LMR have been completed. Both the spray fire and pool fire chemistry routines from CONTAIN - LMR have been integrated into MELCOR 2.1, and debugging and testing are in progress. Because MELCOR only models the equation of state for liquid and gas phases of the coolant, a modeling gap still exists when dealing with experiments or accident conditions that take place when the ambient temperature is below the freezing point of sodium. An alternative method is under investigation to overcome this gap . We are no longer working on the separate branch from the main branch of MELCOR 2.1 since the major modeling of MELCOR 2.1 has been completed. At the current stage, the newly implemented sodium chemistry models will be a part of the main MELCOR release version (MELCOR 2.2). This report will discuss the accomplishments and issues relating to the implementation. Also, we will report on the planned completion of all remaining tasks in the upcoming FY2017, including the atmospheric chemistry model and sodium - concrete interaction model implementation .

21 SPECIFIC NUCLEAR REACTORS AND ASSOCIATED PLANTS↗

Who watches the watchers?: preventing fault in a fault tolerance library

The Scalable Checkpoint/Restart library (SCR) was developed and is used by researchers at Lawrence Livermore National Laboratory to provide a fast and efficient method of saving and recovering large applications during runtime on high-performance computing (HPC) systems. Though SCR protects other programs, up until June 2017, nothing was actively protecting SCR. The goal of this project was to automate the building and testing of this library on the varying HPC architectures on which it is used. Our methods centered around the use of a continuous integration tool called Bamboo that allowed for automation agents to be installed on the HPC systems themselves. These agents provided a way for us to establish a new and unique way to automate and customize the allocation of resources and running of tests with CMake’s unit testing framework, CTest, as well as integration testing scripts though an HPC package manager called Spack. These methods provided a parallel environment in which to test the more complex features of SCR. As a result, SCR is now automatically built and tested on several HPC architectures any time changes are made by developers to the library’s source code. The results of these tests are then communicated back to the developers for immediate feedback, allowing them to fix functionality of SCR that may have broken. Hours of developers’ time are now being saved from the tedious process of manually testing and debugging, which saves money and allows the SCR project team to focus their efforts towards development. Thus, HPC system users can use SCR in conjunction with their own applications to efficiently and effectively checkpoint and restart as needed with the assurance that SCR itself is functioning properly.

97 MATHEMATICS AND COMPUTING↗

Extreme-Scale Algorithms & Software Resilience (EASIR) Architecture-Aware Algorithms for Scalable Performance and Resilience on Heterogeneous Architectures

This project addresses both communication-avoiding algorithms, and reproducible floating-point computation. Communication, i.e. moving data, either between levels of memory or processors over a network, is much more expensive per operation than arithmetic (measured in time or energy), so we seek algorithms that greatly reduce communication. We developed many new algorithms for both dense and sparse, and both direct and iterative linear algebra, attaining new communication lower bounds, and getting large speedups in many cases. We also extended this work in several ways: (1) We minimize writes separately from reads, since writes may be much more expensive than reads on emerging memory technologies, like Flash, sometimes doing asymptotically fewer writes than reads. (2) We extend the lower bounds and optimal algorithms to arbitrary algorithms that may be expressed as perfectly nested loops accessing arrays, where the array subscripts may be arbitrary affine functions of the loop indices (eg A(i), B(i,j+k, k+3*m-7, …) etc.). (3) We extend our communication-avoiding approach to some machine learning algorithms, such as support vector machines. This work has won a number of awards. We also address reproducible floating-point computation. We define reproducibility to mean getting bitwise identical results from multiple runs of the same program, perhaps with different hardware resources or other changes that should ideally not change the answer. Many users depend on reproducibility for debugging or correctness. However, dynamic scheduling of parallel computing resources, combined with nonassociativity of floating point addition, makes attaining reproducibility a challenge even for simple operations like summing a vector of numbers, or more complicated operations like the Basic Linear Algebra Subprograms (BLAS). We describe an algorithm that computes a reproducible sum of floating point numbers, independent of the order of summation. The algorithm depends only on a subset of the IEEE Floating Point Standard 754-2008, uses just 6 words to represent a “reproducible accumulator,” and requires just one read-only pass over the data, or one reduction in parallel. New instructions based on this work are being considered for inclusion in the future IEEE 754-2018 floating-point standard, and new reproducible BLAS are being considered for the next version of the BLAS standard.

97 MATHEMATICS AND COMPUTING↗

Staghorn: An Automated Large-Scale Distributed System Analysis Platform

Conducting experiments on large-scale distributed computing systems is becoming significantly easier with the assistance of emulation. Researchers can now create a model of a distributed computing environment and then generate a virtual, laboratory copy of the entire system composed of potentially thousands of virtual machines, switches, and software. The use of real software, running at clock rate in full virtual machines, allows experiments to produce meaningful results without necessitating a full understanding of all model components. However, the ability to inspect and modify elements within these models is bound by the limitation that such modifications must compete with the model, either running in or alongside it. This inhibits entire classes of analyses from being conducted upon these models. We developed a mechanism to snapshot an entire emulation-based model as it is running. This allows us to \freeze time" and subsequently fork execution, replay execution, modify arbitrary parts of the model, or deeply explore the model. This snapshot includes capturing packets in transit and other input/output state along with the running virtual machines. We were able to build this system in Linux using Open vSwitch and Kernel Virtual Machines on top of Sandia's emulation platform Firewheel. This primitive opens the door to numerous subsequent analyses on models, including state space exploration, debugging distributed systems, performance optimizations, improved training environments, and improved experiment repeatability.

97 MATHEMATICS AND COMPUTING↗

User-Oriented Modeling Tools for Advanced Hybrid and Climate-Appropriate Rooftop Air Conditioners

Hybrid unitary air conditioning systems offer a pathway to substantially reduce energy use and peak electrical demand for cooling, heating, and ventilation in commercial buildings. Hybrid air conditioners incorporate multiple subsystems that are carefully orchestrated to provide climate- and application-specific efficiency advantages. There are a multitude of hybrid system architectures, but common subsystems include: heat recovery ventilation, indirect evaporative cooling, desiccant dehumidification, variable speed fans, modulating dampers, and multi-stage or variable-speed vapor compression cooling. Categorically, hybrid systems can operate in numerous discrete modes. For example: indirect evaporative cooling may operate for periods when the subsystem provides adequate sensible cooling, then vapor compression cooling will be included when more cooling or dehumidification is necessary. Laboratory assessments, field studies, and simulations have demonstrated that hybrid unitary air conditioners could reduce energy use for cooling and ventilation by 30-90% depending on climate and application. Heretofore, it has been challenging - if not impossible - for practitioners to model hybrid air conditioners as part of building energy simulations; and the limitation has severely obstructed broader adoption of technologies in this class. In this project, we developed a new feature for EnergyPlus that enables modeling hybrid unitary air conditioning equipment for building energy simulations. This is a significant advancement for both theory and practice, and confers public benefit by enabling practitioners to evaluate this compelling efficiency technology as a part of building energy simulations. The feature is a black-box model that requires extensive performance data for each hybrid unitary product. In parallel, we also developed new features for the Technology Performance Exchange to enable manufacturers to submit performance data in a standard format that can be used with the hybrid unitary model in EnergyPlus. Additionally, through this project we expanded university educational resources, and university- manufacturing industry collaborations in the field of energy efficiency technology. Over two years, we involved 20 undergraduate students in ambitious research projects focused on modeling complex multi-mode mechanical systems, supported three mechanical engineering bachelor theses, established undergraduate apprenticeships with multiple industry partners, and involved those partners in the process of design, validation, and debugging for the new EnergyPlus feature. The EnergyPlus feature is described and discussed in an academic article, as well as in an engineering reference, and input/output reference documentation for EnergyPlus. The Technology Performance Exchange features are live and publicly accessible, our manufacturer partners are primed to submit initial product information and performance data to the exchange, and the EnergyPlus feature is scheduled for public release in Spring 2018 as a part of EnergyPlus v8.9.

32 ENERGY CONSERVATION, CONSUMPTION, AND UTILIZATI↗

Report of the HPC Correctness Summit, January 25-26, 2017, Washington, DC

Technologies for verification and debugging have made significant strides in the context of general systems software. An investment in such technologies to make them applicable for High Performance Computing (HPC) could lead to substantial improvements in the productivity and sustainability of HPC software development. Such improvements will be essential to fully exploit new exascale computer architectures. Without such investment, there is the possibility of a substantial crisis in our ability to advance the field of HPC, as the complexity of our architectures, algorithms, and applications is moving beyond the ability of our developers. As HPC is of strategic importance to our nation, forming the bedrock of its scientific and technological capabilities, such investment is highly warranted.

97 MATHEMATICS AND COMPUTING↗

Nalu's Linear System Assembly using Tpetra

The Nalu Exascale Wind application assembles linear systems using data structures provided by the Tpetra package in Trilinos. This note describes the initialization and assembly process. The purpose of this note is to help Nalu developers and maintainers to understand the code surrounding linear system assembly, in order to facilitate debugging, optimizations, and maintenance.

17 WIND ENERGY↗