Search NASA⌕ Search

SEARCH · Search NASA

Results for “computer Codes Computer Programs”

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 1,441 records · Page 80

Overview of the Tolerance Limit Calculations with Application to TSURFER

To establish confidence in the results of computerized physics models, a key regulatory requirement is to develop a scientifically defendable process. The methods employed for confidence, characterization, and consolidation, or C3, are statistically involved and are often accessible only to avid statisticians. This manuscript serves as a pedagogical presentation of the C3 process to all stakeholders—including researchers, industrial practitioners, and regulators—to impart an intuitive understanding of the key concepts and mathematical methods entailed by C3. The primary focus is on calculation of tolerance limits, which is the overall goal of the C3 process. Tolerance limits encode the confidence in the calculation results as communicated to the regulator. Understanding the C3 process is especially critical today, as the nuclear industry is considering more innovative ways to assess new technologies, including new reactor and fuel concepts, via an integrated approach that optimally combines modeling and simulation and minimal targeted validation experiments. This manuscript employs intuitive, analytical, numerical, and visual representations to explain how tolerance limits may be calculated for a wide range of configurations, and it also describes how their values may be interpreted. Various verification tests have been developed to test the calculated tolerance limits and to help delineate their values. The manuscript demonstrates the calculation of tolerance limits for TSURFER, a computer code developed by the Oak Ridge National Laboratory for criticality safety applications. The goal is to evaluate the tolerance limit for TSURFER-determined criticality biases to support the determination of upper, subcritical limits for regulatory purposes.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

An Unsteady State Gas Transport Model in Matrix Laboratory (MATLAB) for PWR Gas Management

Reactor Coolant System (RCS) hydrogen gas management can be a challenge at Pressurized Water Reactors (PWRs) during shutdown, startup, and steady state operation. Poor hydrogen control can result in higher general corrosion rates for RCS components and increases in critical path time for shutdown or startup. Also, performance indicator penalties may be accrued by entry into Electric Power Research Institute (EPRI) Action Level conditions or by accrual of Chemistry Effectiveness Index (CEI) penalties established by the Institute of Nuclear Power Operations (INPO). Furthermore, poor hydrogen control may increase industrial safety risk due to the creation of an explosive environment. Part of the hydrogen management difficulty arises from the interaction of several phenomena that require complex simulations to fully understand. While hydrogen gas transport models have been developed, the application of these models is limited by the computational intensity required to accurately model the dynamism inherent in plant shutdown or startup. Subsequently, a gas transport model is developed in a suitable computational program to meet these needs and provide input to an optimized RCS hydrogen management strategy for all operational modes. The gas transport model is used to model RCS hydrogen behavior for an example PWR during an End of Cycle (EOC) Forced Outage (FO) startup, a refueling outage (RFO) shutdown, and during nominal steady state operation. The computational software selected is Matrix Laboratory (MATLAB{sup R})

21 SPECIFIC NUCLEAR REACTORS AND ASSOCIATED PLANTS↗

PredCom: A Predictive Approach to Collecting Approximated Communication Traces

Communication traces collected from MPI applications are an important source of information for performance optimization as they can help analysts determine communication patterns and identify inefficiencies. However, their collection, especially at scale, is time consuming, since it usually requires running the complete target application on a large number of nodes. In this work, we present PredCom, a tool-chain to generate a predictive communication proxy based on information gathered from a few small scale runs, which allows us to extract approximate communication traces with an accuracy high enough for most analysis goals. For this, we combine LLVM passes on the original source code (to capture static program structure) with parameter prediction (to capture dynamic and scaling behavior). This approach drastically reduces the time needed for collecting the communication traces, even for traces on large numbers of MPI processes. Here, we demonstrate that PredCom generates communication traces of various applications up to 1612x faster with an accuracy loss of 0.11 on average compared to the original large-scale traces, and we show that the generated traces can be used to optimize process placement.

97 MATHEMATICS AND COMPUTING↗

Development of a New Fixed-source Sensitivity Tally Capability in the MCNP ® Code [Slides]

Current work includes FSEN capability development, continued verification of adjoint-weighted sensitivity method, and improvement of algorithm speed and parallelism capability. Future work is forecasted to include extensions to non-Boltzmann responses, adding more responses and particle types, and connection to new MCNP6.3 tally backend.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

CLC: A cross-level program characterization method

Characterization of program execution plays a key role in performance improvement. There are numerous transformations applied to each step that a program takes on its lowering from source code to a compiler intermediate representation to machine language to microarchitecture-specific execution. The unpredictable benefit of each transformation step could lead a notionally superior algorithm to exhibit inferior performance once actually run, and it can be hard to discern which step in the transformation path contradicted the code developer’s assumptions. Conventional approaches to program-execution characterization consider the behavior after only a single one of those steps, which limits the information that can be provided to the user. To help address the issue of myopic views of program execution, this paper presents a novel cross-level characterization approach for understanding the behavior of program execution at different levels in the process of writing, compiling, and running a program. We show that this approach provides a richer view of the sources of performance gains and losses and helps identify program execution in a more accurate manner.

97 MATHEMATICS AND COMPUTING↗

statusMessageReporting

Unlike computer languages like C++ which has throw/catch, Python which has try/except and other newer computer languages, C has no built-in mechanism for handling exceptions (e.g., memory allocate failure or a divide by zero exceptions). While simple exception handling in the form of an integer parameter (e.g, errno) or an enum are often implemented in C programs, the richer types of exception reporting possible with newer computer languages are rarely implemented in C. The statusMessageReporting package was created to facilitate rich exception reporting by C functions to their calling functions. The statusMessageReporting (smr) package allows a function, called the generator, to communicate an exception to its calling function using a statusMessageReporting report. The main parts of a report are: 1)the level of the report called the status (valid levels are smr_status_Ok, smr_status_Info, smr_statusWarning and smr_status_Error) 2) a string called the report's message and 3) two integer values, one representing the generator's ID, called the libraryID, and the other is the library's specific integer, called the code, that represents the type of exception the generator is reporting. The code is similar to the errno for the C standard library. Since libraries are often developed independent of one another, they often use the same code values to represent different exceptions (e.g., one library may define the code 3 to be an error opening a file while another library may define the code 3 to be a divide-by-zero error) which is why the libraryID is needed. That is, the equivalent of errno is the combination libraryID:code. To insure that each library's libraryID is unique, libraryIDs must be obtained from the function smr_registerLibrary.

Beck, Bret↗

INDDGO: Integrated Network Decomposition & Dynamic programming for Graph Optimization

It is well-known that dynamic programming algorithms can utilize tree decompositions to provide a way to solve some NP -hard problems on graphs where the complexity is polynomial in the number of nodes and edges in the graph, but exponential in the width of the underlying tree decomposition. However, there has been relatively little computational work done to determine the practical utility of such dynamic programming algorithms. We have developed software to construct tree decompositions using various heuristics and have created a fast, memory-efficient dynamic programming implementation for solving maximum weighted independent set. We describe our software and the algorithms we have implemented, focusing on memory saving techniques for the dynamic programming. We compare the running time and memory usage of our implementation with other techniques for solving maximum weighted independent set, including a commercial integer programming solver and a semi-definite programming solver. Our results indicate that it is possible to solve some instances where the underlying decomposition has width much larger than suggested by the literature. For certain types of problems, our dynamic programming code runs several times faster than these other methods.

Groër, Christopher S.↗

Path-sensitive analysis for reducing rollback overheads

A mechanism is provided for path-sensitive analysis for reducing rollback overheads. The mechanism receives, in a compiler, program code to be compiled to form compiled code. The mechanism divides the code into basic blocks. The mechanism then determines a restore register set for each of the one or more basic blocks to form one or more restore register sets. The mechanism then stores the one or more register sets such that responsive to a rollback during execution of the compiled code. A rollback routine identifies a restore register set from the one or more restore register sets and restores registers identified in the identified restore register set.

97 MATHEMATICS AND COMPUTING↗

SU-G-JeP4-01: An Assessment of a Microsoft Kinect V2 Sensor for Voluntary Breath-Hold Monitoring in Radiotherapy

Purpose: To determine whether the Microsoft Kinect Version 2 (Kinect v2), a commercial off-the-shelf (COTS) depth sensors designed for entertainment purposes, were robust to the radiotherapy treatment environment and could be suitable for monitoring of voluntary breath-hold compliance. This could complement current visual monitoring techniques, and be useful for heart sparing left breast radiotherapy. Methods: In-house software to control Kinect v2 sensors, and capture output information, was developed using the free Microsoft software development kit, and the Cinder creative coding C++ library. Each sensor was used with a 12m USB 3.0 active cable. A solid water block was used as the object. The depth accuracy and precision of the sensors was evaluated by comparing Kinect reported distance to the object with a precision laser measurement across a distance range of 0.6m to 2.0 m. The object was positioned on a high-precision programmable motion platform and moved in two programmed motion patterns and Kinect reported distance logged. Robustness to the radiation environment was tested by repeating all measurements with a linear accelerator operating over a range of pulse repetition frequencies (6Hz to 400Hz) and dose rates 50 to 1500 monitor units (MU) per minute. Results: The complex, consistent relationship between true and measured distance was unaffected by the radiation environment, as was the ability to detect motion. Sensor precision was < 1 mm and the accuracy between 1.3 mm and 1.8 mm when a distance correction was applied. Both motion patterns were tracked successfully with a root mean squared error (RMSE) of 1.4 and 1.1 mm respectively. Conclusion: Kinect v2 sensors are capable of tracking pre-programmed motion patterns with an accuracy <2 mm and appear robust to the radiotherapy treatment environment. A clinical trial using Kinect v2 sensor for monitoring voluntary breath hold has ethical approval and is open to recruitment. The authors are supported by a National Institute of Health Research (NIHR) Career Development Fellowship (CDF-2013-06-005). Microsoft Corporation donated three sensors. The views expressed in this publication are those of the author(s) and not necessarily those of the NHS, the National Institute for Health Research or the Department of Health.

60 APPLIED LIFE SCIENCES↗

Upgrading of data acquisition software for centralized radiation monitoring system in Malaysian Nuclear Agency

With the growth of technology, many devices and equipments can be connected to the network and internet to enable online data acquisition for real-time data monitoring and control from monitoring devices located at remote sites. Centralized radiation monitoring system (CRMS) is a system that enables area radiation level at various locations in Malaysian Nuclear Agency (Nuklear Malaysia) to be monitored centrally by using a web browser. The Local Area Network (LAN) in Nuclear Malaysia is utilized in CRMS as a communication media for data acquisition of the area radiation levels from radiation detectors. The development of the system involves device configuration, wiring, network and hardware installation, software and web development. This paper describes the software upgrading on the system server that is responsible to acquire and record the area radiation readings from the detectors. The recorded readings are called in a web programming to be displayed on a website. Besides the main feature which is acquiring the area radiation levels in Nuclear Malaysia centrally, the upgrading involves new features such as uniform time interval for data recording and exporting, warning system and dose triggering.

46 INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND ↗

A High Performance Sparse Tensor Algebra Compiler in MLIR

Sparse tensor algebra is widely used in many applications, including scientific computing, machine learning, and data analytics. The performance of sparse tensor algebra kernels strongly depends on the intrinsic characteristics of the input tensors, hence many storage formats are designed for tensors to achieve optimal performance for particular applications/architectures, which makes it challenging to implement and optimize every tensor operation of interest on a given architecture. We propose a tensor algebra domain-specific language (DSL) and compiler framework to automatically generate kernels for mixed sparse-dense tensor algebra operations. The proposed DSL provides high-level programming abstractions that resemble the familiar Einstein notation to represent tensor algebra operations. The compiler introduces a new Sparse Tensor Algebra dialect built on top of LLVM's extensible MLIR compiler infrastructure for efficient code generation while covering a wide range of tensor storage formats. Our compiler also leverages input-dependent code optimization to enhance data locality for better performance. Our results show that the performance of automatically generated kernels outperforms the state-of-the-art sparse tensor algebra compiler, with up to 20.92x, 6.39x, and 13.9x performance improvement over state-of-the-art tensor algebra compilers, for parallel SpMV, SpMM, and TTM, respectively.

Tian, Ruiqin↗

The report of Task Group 100 of the AAPM: Application of risk analysis methods to radiation therapy quality management

The increasing complexity of modern radiation therapy planning and delivery challenges traditional prescriptive quality management (QM) methods, such as many of those included in guidelines published by organizations such as the AAPM, ASTRO, ACR, ESTRO, and IAEA. These prescriptive guidelines have traditionally focused on monitoring all aspects of the functional performance of radiotherapy (RT) equipment by comparing parameters against tolerances set at strict but achievable values. Many errors that occur in radiation oncology are not due to failures in devices and software; rather they are failures in workflow and process. A systematic understanding of the likelihood and clinical impact of possible failures throughout a course of radiotherapy is needed to direct limit QM resources efficiently to produce maximum safety and quality of patient care. Task Group 100 of the AAPM has taken a broad view of these issues and has developed a framework for designing QM activities, based on estimates of the probability of identified failures and their clinical outcome through the RT planning and delivery process. The Task Group has chosen a specific radiotherapy process required for “intensity modulated radiation therapy (IMRT)” as a case study. The goal of this work is to apply modern risk-based analysis techniques to this complex RT process in order to demonstrate to the RT community that such techniques may help identify more effective and efficient ways to enhance the safety and quality of our treatment processes. The task group generated by consensus an example quality management program strategy for the IMRT process performed at the institution of one of the authors. This report describes the methodology and nomenclature developed, presents the process maps, FMEAs, fault trees, and QM programs developed, and makes suggestions on how this information could be used in the clinic. The development and implementation of risk-assessment techniques will make radiation therapy safer and more efficient.

60 APPLIED LIFE SCIENCES↗

Addressing Global Data Dependencies in Heterogeneous Asynchronous Runtime Systems on GPUs

Large-scale parallel applications with complex global data dependencies beyond those of reductions pose significant scalability challenges in an asynchronous runtime system. Internodal challenges include identifying the all-to-all communication of data dependencies among the nodes. Intranodal challenges include gathering together these data dependencies into usable data objects while avoiding data duplication. This paper addresses these challenges within the context of a large-scale, industrial coal boiler simulation using the Uintah asynchronous many-task runtime system on GPU architectures. We show significant reduction in time spent analyzing data dependencies through refinements in our dependency search algorithm. Multiple task graphs are used to eliminate subsequent analysis when task graphs change in predictable and repeatable ways. Using a combined data store and task scheduler redesign reduces data dependency duplication ensuring that problems fit within host and GPU memory. Furthermore, these modifications did not require any changes to application code or sweeping changes to the Uintah runtime system. We report results running on the DOE Titan system on 119K CPU cores and 7.5K GPUs simultaneously. Our solutions can be generalized to other task dependency problems with global dependencies among thousands of nodes which must be processed efficiently at large scale.

97 MATHEMATICS AND COMPUTING↗

Effects of hydro mesh resolution on Detonation Shock Dynamics (DSD)

Detonation Shock Dynamics (DSD) is a programmed-burn scheme that calculates the propagation of the detonation front in the HE before a full hydro computation begins. DSD calculations are performed on a uniform Cartesian grid which is independent from the hydro mesh, and its burntime calculation algorithm is second-order accurate. However, its boundary condition application is first-order accurate with respect to the grid resolution. The geometry of the HE is represented by two fields in DSD — distance function (Ψ) and material ID (matID). The former is the distance from a given DSD grid point to the nearest HE boundary and the latter is the material identification at that grid point. Those two fields must be determined from the information supplied by the hydro code. Since the hydro mesh resolution is almost always dictated by analysis and computational requirements, DSD must adhere to this restriction. Even though the effects of body-fitted hydro resolution has been briefly documented previously, this report elaborates further and describes its ramifications.

97 MATHEMATICS AND COMPUTING↗

Validation and Verification of Python based Neutron Spectrum Unfolding Software

To validate and verify the python-based code (PySL), designed to replicate the programs used by STAYSL for Beam Correction Factor (BCF) and Self-Shielding Factor (SHIELD), a series of tests were performed. To test BCF a python script was written to generate a random flux history file and both versions of the code processed the data. The test verified matching values up to at least one decimal place, approximately 10,000 tests where run and each one passed. Isotopes began to fail the tests once neutron saturation was reached. To verify this the total time of exposure was varied the isotopes that failed were compared to a list of their half-lives. The test process for SHIELD was very similar but, in this case, the code began by producing an input file with varying thickness and device type/environment for the SHIELD input. The failure condition for this test was if any of the data points for an isotope had a difference above 3%. Approximately 40 of these tests were run and there were only 3 isotopes that had reoccurring failures but only 2% of their points were above the 3% difference. A visual comparison was conducted by plotting the results from both programs. Although the test failed, the differences between their values were minuscule, and the self-shielding factor’s shape was preserved when plotted. Next steps for this project will be validating and verifying the python-based SigPhi code and then reproducing and testing the least squares unfolding performed by STAYSL.

73 - NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Nuclear Data Evaluations in the Resolved Resonance Region and Proposed Updates to R­matrix Modeling in the SAMMY Code [Slides]

This detailed presentation starts off with an evaluation workflow scheme along with observables definition. Provided next are typical cases of explicit experimental effects and the basic quantities for reproducibility. Lastly the presentation mentions the Inverse channel, Complex radius, and the level­ dependent boundary condition. A visual workflow scheme is provided.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

RELAP5-3D Restart and Backup Verification Testing

Existing testing methodology for RELAP5-3D employs a set of test cases collected over two decades to test a variety of code features and run on a Linux or Windows platform. However, this set has numerous deficiencies in terms of code coverage, detail of comparison, running time, and testing fidelity of RELAP5-3D restart and backup capabilities. The test suite covers less than three quarters of the lines of code in the relap directory and just over half those in the environmental library. Even in terms of code features, many are not covered. Moreover, the test set runs many problems long past the point necessary to test the relevant features. It requires standard problems to run to completion. This is unnecessary for features can be tested in a short-running problem. For example, many trips and controls can be tested in the first few time steps, as can a number of fluid flow options. The testing system is also inaccurate. For the past decade, the diffem script has been the primary tool for checking that printouts from two different RELAP5-3D executables agree. This tool compares two output files to verify that all characters are the same except for those relating to date, time and a few other excluded items. The variable values printed on the output file are accurate to no more than eight decimal places. Therefore, calculations with errors in decimal places beyond those printed remain undetected. Finally, fidelity of restart is not tested except in the PVM sub-suite and backup is not specifically tested at all. When a restart is made from any midway point of the base-case transient, the restart must produce the same values. When a backup condition occurs, the code repeats advancements with the same time step. A perfect backup can be tested by forcing RELAP5 to perform a backup by falsely setting a backup condition flag at a user-specified-time. Comparison of the calculations of that run and those produced by the same input w/o the spurious condition should be identical. Backup testing is more difficult the other kinds of testing described above because it requires additional coding to implement. The testing system constructed and described in this document resolves all of these issues. A matrix of test features and short-running cases that exercise them is presented. A small information file that contains sufficient data to verify calculations to the last decimal place and bit is produced. This testing system is used to test base cases (called null testing) as well as restart and backup cases. The programming that implements these new capabilities is presented.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

Two new SciDAC institutes promote mathematical tools and software technology for high-performance computing

Bigger is often said to be better, and the newest extreme-scale computers certainly are bigger, with millions of processing units. Moreover, the breadth of science performed on the U.S. Department of Energy (DOE) computing facilities is expanding, with new technology such as artificial intelligence emerging. These advances are exciting, creating new opportunities for scientific discovery; however, they also raise new questions for scientists who want to exploit these advances for tackling more complex problems. Will my simulation code be able to utilize the accelerators in extreme-scale computing systems? Can I take advantage of the deepening memory hierarchy in heterogeneous processors? Is there a way around bottlenecks caused by the widening ratio of peak floating-point operations per second to I/0 bandwidth? How can I manage my huge amounts of data effectively? Can I analyze data in situ, or must I transfer it to offline storage for later analysis? To address such questions, DOE announced that it is providing $57.5 million over the next five years for two multidisciplinary teams — FASTMath and RAPIDS2 — to develop new tools and techniques to harness supercomputers for scientific discovery. The teams, called SciDAC Institutes, are part of the Scientific Discovery through Advanced Computing program.

97 MATHEMATICS AND COMPUTING↗