Search NASA⌕ Search

SEARCH · Search NASA

Results for “Static Code Analysis”

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 37 records · Page 2

Structure‐Aware Representation Learning for Effective Performance Prediction

ABSTRACT Application performance is a function of several unknowns stemming from the interactions between the application, runtime, OS, and underlying hardware, making it challenging to model performance using deep learning techniques, especially without a large labeled dataset. Collecting such labeled longitudinal datasets can take weeks. Intuitively, developers could save analysis time during code development by taking a comparative approach between multiple applications. However, the unknown dynamic interactions between applications and execution environments make it difficult for deep learning‐based models to predict the performance of new applications. In this paper, we address these problems by presenting a labeled dataset for the community and taking a comparative analysis approach to explore the source code differences between different correct implementations of the same problem. This paper assesses the feasibility of using purely static information, for example, Abstract Syntax Tree (AST), of applications to predict performance change based on code structure. We evaluate several deep learning‐based representation learning techniques for source code and propose an architecture for the tree‐based Long Short‐Term Memory (LSTM) models to discover latent representations for a source code's hierarchical structure. We demonstrate that our proposed architecture enables feed‐forward predictive models to predict change in performance using source code with up to 84% accuracy.

Ramadan, Tarek [Department of Computer Science Tex↗

A Mercury Model of the Molly-G Fast Burst Reactor (FBR)

In order to design neutron irradiation experiments at a given nuclear reactor, one requires a representative neutron spectrum for the configuration of the reactor that will exist during the experiment. This usually implies modeling the operation of the reactor using a neutron transport code. Since the modeling of pulsed neutron reactors is quite complex, requiring coupled modeling of neutronics and thermo-structural response, the typical methodology employs analysis of the neutron spectrum which is obtained from a static keff calculation. While this time-independent Eigenfunction is not truly representative of that during a reactor pulse, we postulate that it is a reasonable representation for our purposes. The Nuclear Survivability (NS) Program at LLNL is considering fielding such experiments at the Molly-G (‘Molybdenum Godiva-II’) Fast Burst Reactor (FBR) at the White Sands Missile Range (WSMR). The goal of these experiments is to (a) test / proof / calibrate diagnostics, and (b) test the efficacy of neutron shield configurations, before fielding at other nuclear reactors, such as the Annular Core Research Reactor (ACRR) at SNL/NM. After attempting to secure either drawings or a copy of an existing MCNP model of the Molly-G FBR from various institutions, it was decided to develop a new model for use with the Mercury Monte Carlo transport code. The model described herein will be used to design these experiments.

21 SPECIFIC NUCLEAR REACTORS AND ASSOCIATED PLANTS↗

Transient convective delayed neutron precursor of {sup 235}U for the molten salt reactor experiment

This work investigates the delayed neutron precursors from the fission of {sup 235}U in molten salt reactors. The six delayed neutron groups predict the spatial distribution of the advective transport for radioactive mass transfer in the molten-salt reactor experiment (MSRE). The Mole code, using the framework of the Multiphysics Object-Oriented Simulation Environment (MOOSE), was used to compute the delayed neutron concentration of the whole system. This approach can be used for analysis of reactivity in circulating conditions. The effect of delayed neutron concentrations on the static or dynamic behavior of the system in MSRE was analyzed. Using this approach, the pattern and validation of delayed neutron for a range of parameters of interest are reported and discussed herein. (authors)

21 SPECIFIC NUCLEAR REACTORS AND ASSOCIATED PLANTS↗

RAFT (Response Amplitudes of Floating Turbines) [SWR-22-40]

RAFT is a Python code for frequency-domain analysis of floating wind turbines. RAFT works in the frequency domain to provide efficient computations of a floating wind system's response spectra accounting for platform hydrodynamics, quasi-static mooring reactions, rotor aerodynamics, and linearized control. It can be used to calculate response amplitude operators (RAO's), power spectral densities, mean/static properties, and response metrics based on mean and root-mean-square values of each output. RAFT serves as the Level 1 model in the WEIS (Wind Energy with Integrated Servo-control) toolkit, and features an OpenMDAO wrapper.

Hall, Matthew↗

A Program Analysis Tool to Query Static and Dynamic Characteristics of HPC Applications

Emerging HPC platforms are becoming extraordinarily difficult to program as a result of complex, deep and heterogeneous memory hierarchies, heterogeneous cores, and the need to divide work and data among them. New programming models and libraries are being developed to aid in porting efforts of application developers, but substantial code restructuring is still necessary to fully make use of these new technologies. To do this effectively, these developers need information about their source code characteristics, including static and dynamic (e.g. performance) information to direct their optimisation efforts and make key decisions. On the other hand, system administrators need to understand how users are using the software stack and resources on their systems to understand what software they need to provide to improve the productivity of the users on a platform.In this paper we describe a tool that combines compiler and profiler information to query performance characteristics within an application or across multiple applications on a given platform. Static and dynamic data about applications are collected and stored together in an SQL database that can be queried by either a developer or a system administrator. We will demonstrate the capabilities of this tool via a real-world example from application-driven case studies that aims at understanding the use of scientific libraries on a routine from the molecular simulation application CP2K.

Welch, Aaron↗

Automated Hybrid Variance Reduction on Advanced Architectures in the Shift Monte Carlo Code

Monte Carlo transport methods are the most accurate schemes for solving problems with complex energy and spatial features, but they come with a high computational cost. Although hybrid methods have enabled the use of Monte Carlo transport for a large class of problems, they still require significant computing resources. Modern multicore CPUs with large numbers of compute cores and graphical processing units (GPUs) provide opportunities to optimize the memory and run-time costs of hybrid Monte Carlo methods. This paper documents the development and analysis of three Monte Carlo transport algorithms that support hybrid transport using the consistent adjoint-driven importance sampling (CADIS) and forward-weighted CADIS methods in the Shift Monte Carlo code: history-based transport using static and dynamic threading on multicore CPUs and event-based transport enabling weight window tracking on GPUs. The results are shown for two challenging hybrid problems on the Frontier supercomputer at the Oak Ridge Leadership Computing Facility. The results show that all three methods yield good performance and enable solutions of difficult fixed-source transport problems in less than 2 min on 20 nodes of Frontier. Dynamic threading was observed to give up to 20% better scaling behavior than static threading. Moreover, the AMD Instinct 250X GPU was found to give 9 to 11 times greater throughput per graphics compute die than the best CPU performance. In conclusion, additional opportunities for optimization of hybrid transport on GPUs are discussed.

Denovo↗

Evaluating the effectiveness of program data features for guiding memory management

Recent trends have led to the adoption of larger and more complex memory systems, often with multiple tiers of memory performance within the same platform. To utilize complex memory systems efficiently, current data management strategies must be altered to map usage demands to the underlying hardware. Applications, as the generators of memory accesses, are well-suited to guide this process, but building and maintaining separate source code versions for different memory systems is not feasible in most cases. One potential solution is to employ automated program profiling and analysis to facilitate the production of application-based guidance. By attaching memory usage information to static or lightweight program features, compilers and runtime systems can generate fine-grained guidance without additional efforts from users or developers. Recent works have employed this approach with some success, but it is not clear which program features are most useful for guiding data management.This work evaluates the effectiveness of using different program data features to predict memory usage and guide memory management. It employs a custom set of simulation tools, based in the Intel® Pin framework, to collect and analyze the usage characteristics of application data associated with common program data features, such as allocation sites, types, and context. The results show that even relatively simple features, such as object size, are useful for selecting data with similar usage properties, but finer-grained features, such as the instructions that access a particular object, are often much more effective. Additionally, this work evaluates the performance of using different data features and different program inputs to guide data placement on a heterogeneous memory platform with a limited amount of high performance memory.

Effler, T. Chad↗

ROSE

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

Pinnow, NathanT [Lawrence Livermore National Labor↗

HPC-enabled computation of demand models at scale

The purpose of this project is to examine the energy impact of urban-scale traffic for the Los Angeles Basin by developing and implementing a scalable traffic assignment model. An energy optimization function will be posed and when integrated into the optimization code for travel assignment it can be mathematically proven to converge. The energy optimization function can then be compared to the typical travel time optimization that is traditionally used in traffic assignment models. The analysis will begin with static traffic assignment models with the routing for all origin and destinations computed in parallel on high performance computing facilities. Convergence of the numerical methods rely on the solution of convex programs (or extensions of these). This step will mostly consist of demonstrating the ability to parallelize the Frank Wolfe algorithm on various platforms.

29 ENERGY PLANNING, POLICY, AND ECONOMY↗

HPC4Mobilty w/ UCB

The purpose of this project is to examine the energy impact of urban-scale traffic for the Los Angeles Basin by developing and implementing a scalable traffic assignment model. An energy optimization function will be posed and when integrated into the optimization code for travel assignment it can be mathematically proven to converge. The energy optimization function can then be compared to the typical travel time optimization that is traditionally used in traffic assignment models. The analysis will begin with static traffic assignment models with the routing for all origin and destinations computed in parallel on high performance computing facilities. Convergence of the numerical methods rely on the solution of convex programs (or extensions of these). This step will mostly consist of demonstrating the ability to parallelize the Frank Wolfe algorithm on various platforms. This work will contribute to LBNL’s efforts to develop new processes, analytical tools, program designs, and business models to advance the state of the art in next-generation sustainable transportation solutions.

32 ENERGY CONSERVATION, CONSUMPTION, AND UTILIZATI↗

Expanded capabilities of the CarMa code in modeling resistive wall mode dynamics with 3-D conductors

In this work, an improved version of the CarMa code is presented, called CarMa-D, for the analysis of resistive wall modes (RWMs) in fusion devices, simultaneously considering the effects of volumetric three-dimensional conducting structures, plasma dynamics, toroidal rotation or drift-kinetic damping. Unlike static CarMa, CarMa-D does not rely on the simplifying assumptions such as neglecting the plasma mass, toroidal rotation and kinetic damping. The new coupling strategy is based on matrix-based Padé rational functions approximation of plasma a response. The arising mathematical model is formally equivalent to the original CarMa model, but with a higher number of degrees of freedom to model the dynamics of the plasma. CarMa-D overcomes the main limitations of the original CarMa, in particular: (i) the massless assumption for the plasma is removed, allowing modeling of global modes growing both on ideal kink time scales and in the typical RWM growth rate regime, with a suitable treatment of the model; (ii) the effects of toroidal plasma flow and drift kinetic damping can be included into the new model, providing a powerful tool to study macroscopic phenomena where both plasma dynamics and 3-D conducting structures play important roles.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗

Creating an Interprocedural Analyst-Oriented Data Flow Representation for Binary Analysts (CIAO)

National security missions require understanding third-party software binaries, a key element of which is reasoning about how data flows through a program. However, vulnerability analysts protecting software lack adequate tools for understanding data flow in binaries. To reduce the human time burden for these analysts, we used human factors methods in a rolling discovery process to derive user-centric visual representation requirements. We encountered three main challenges: analysis projects span weeks, analysis goals significantly affect approaches and required knowledge, and analyst tools, techniques, conventions, and prioritization are based on personal preference. To address these challenges, we initially focused our human factors methods on an attack surface characterization task. We generalized our results using a two-stage modified sorting task, creating requirements for a data flow visualization. We implemented these requirements partially in manual static visualizations, which we informally evaluated, and partially in automatically generated interactive visualizations, which have yet to be integrated into workflows for evaluation. Our observations and results indicate that 1) this data flow visualization has the potential to enable novel code navigation, information presentation, and information sharing, and 2) it is an excellent time to pursue research applying human factors methods to binary analysis workflows.

42 ENGINEERING↗

Performance Improvements for the Griffin Transport Solvers

Griffin is a Multiphysics Object-Oriented Simulation Environment based reactor multiphysics analysis application jointly developed by Idaho National Laboratory and Argonne National Laboratory. Griffin includes a variety of deterministic radiation transport solvers for fixed source, k-eigenvalue, adjoint, and subcritical multiplication, as well as transient solvers for point-kinetics, improved quasi-static, and spatial dynamics. A code assessment performed in FY-20 identified two significant issues with the transport solvers in Griffin: first, the primary heterogeneous SN (discrete ordinates) transport solver based on continuous finite element methods required significant mesh refinement and higher memory usage compared to solvers based on the method of characteristic for equivalent accuracy. Second, the homogeneous PN (spherical harmonics expansion) transport solver did not adequately support polynomial refinement, which is a feature usually required for problems with spatial homogenization and pronounced streaming, typical in fast or gas-cooled reactor systems. To address the first issue, the development effort focused on the more promising discontinuous finite element method (DFEM)-based SN transport solver in Griffin. The addition of an asynchronous parallel transport sweeper and coarse mesh finite difference (CMFD) acceleration have rendered a superior heterogeneous SN transport capability for multiphysics problems that requires far less computing resources in terms of both CPU time and memory usage. This is demonstrated with typical thermal- and fast-spectrum reactor benchmark problems, including 2D Transient Reactor Test, 3D Advanced Burner Test Reactor (ABTR), and 2D and 3D Empire microreactor. For the second issue, the development effort focused on a new transport solver based on the hybrid finite element PN method (HFEM-PN), equivalent to the variational nodal method, as well as a new diffusion solver based on HFEM-Diffusion. This solver is intended for homogenized domains with multiphysics coupling (i.e., supports mesh displacement, seamless temperature feedback, etc.). Initial calculations with the HFEM-Diffusion implementation show very good parallel efficiency for the residual evaluations with the 2D ABTR benchmark. A future development effort will be centered on further improvements to the CMFD, HFEM-PN, and DFEM diffusion solvers to ensure Griffin meets performance and software quality assurance requirements for advanced reactor design and analysis.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

Cross Section Generation Capability in Griffin

The Griffin code is a Multiphysics Object-Oriented Simulation Environment (MOOSE) based reactor multiphysics analysis application jointly developed by Idaho National Laboratory and Argonne National Laboratory. The code includes a variety of steady-state solvers for fixed-source, k-eigenvalue, adjoint, and subcritical multiplication, as well as transient solvers for point-kinetics, improved quasi-static, and spatial dynamics. The code reads multigroup cross sections in the ISOXML format generated from external deterministic or Monte Carlo cross section generation codes. The implementation of the cross section generation capability in Griffin was initiated last year by plugging in the cross section application programming interface (CSAPI) and reviewing the methodologies for treating particulate fuels. The focus this year was on improving the CSAPI integration and implementing advanced self-shielding methods for applications to advanced reactor problems with TRISO fuels. First, the process for cross section library generation was updated to accurately and rigorously produce isotopic cross section data. Second, the equivalent Dancoff factor cell method performing slowing down calculations on the fly for the resonance treatment was implemented in CSAPI to improve the accuracy of effective multigroup cross sections in the resonance energy range. Third, the iterative local spatial self-shielding method was implemented under the calculation framework of the equivalent Dancoff factor cell method to accurately deal with the double heterogeneity effect of particulate fuel. The updated CSAPI with the advanced self-shielding methods, together with the cross section libraries generated based on the improved process, were tested for pin-cell, unit-cell, and fuel assembly problems with various resonance self-shielding conditions based on very high temperature reactor, high temperature test reactor, and Empire benchmark cores, indicating that the updated CSAPI in Griffin is able to produce multigroup cross sections accurately and efficiently. We also showed that the methodology worked well for pebble bed fuel from HTR-10, but the capability still needs to be fully integrated into CSAPI. In the future, further benchmark tests will be performed for various thermal reactor core problems, including particulate fuel-based pebble bed reactors.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Cross Section Generation Capability in Griffin

The Griffin code is a Multiphysics Object-Oriented Simulation Environment (MOOSE) based reactor multiphysics analysis application jointly developed by Idaho National Laboratory and Argonne National Laboratory. The code includes a variety of steady-state solvers for fixed-source, k-eigenvalue, adjoint, and subcritical multiplication, as well as transient solvers for point-kinetics, improved quasi-static, and spatial dynamics. The code reads multigroup cross sections in the ISOXML format generated from external deterministic or Monte Carlo cross section generation codes. The implementation of the cross section generation capability in Griffin was initiated last year by plugging in the cross section application programming interface (CSAPI) and reviewing the methodologies for treating particulate fuels. The focus this year was on improving the CSAPI integration and implementing advanced self-shielding methods for applications to advanced reactor problems with TRISO fuels. First, the process for cross section library generation was updated to accurately and rigorously produce isotopic cross section data. Second, the on-the-fly slowing down method for the resonance treatment was implemented in CSAPI to improve the accuracy of effective multigroup cross sections in the resonance energy range. Among various on-the-fly slowing down methods, the equivalent Dancoff factor cell method was employed. Third, the iterative local spatial self-shielding method was implemented under the calculation framework of the equivalent Dancoff factor cell method to accurately deal with the double heterogeneity effect of particulate fuel. The updated CSAPI with the advanced self-shielding methods, together with the cross section libraries generated based on the improved process, were tested for the very high temperature reactor (VHTR), high temperature test reactor (HTTR), and Empire benchmark problems with various resonance self-shielding conditions, indicating that the updated CSAPI in Griffin is able to produce multigroup cross sections accurately and efficiently. We also show that the methodology works well for pebble bed fuel from HTR-10, but the capability still needs to be fully integrated into CSAPI. In the future, further benchmark tests will be performed for various thermal reactor core problems, including particulate fuel-based pebble bed reactors.

22 - GENERAL STUDIES OF NUCLEAR REACTORS↗

Improvements to the Griffin Transport Solvers

Griffin is a Multiphysics Object-Oriented Simulation Environment (MOOSE) based reactor multiphysics analysis application jointly developed by Idaho National Laboratory and Argonne National Laboratory. The code includes a variety of steady-state solvers for fixed-source, k-eigenvalue, adjoint, and subcritical multiplication, as well as transient solvers for point-kinetics, improved quasi-static, and spatial dynamics. This document summarizes the transport solver development efforts pursued during Fiscal Year 2022. We added the multiphysics transient capability for the coarse-mesh finite difference accelerated Richardson iteration for discontinuous finite element method discrete ordinates (DFEM-SN) scheme to support high-order heterogeneous transport simulations. HFEM (hybrid finite element method) - PN (spherical harmonics expansion) was completed and red-black iteration was added for solving the HFEM-PN system with both preconditioned Jacobian-free Newton Krylov and Richardson iteration solvers. The HFEM-PN scheme, as one of the low-order transport schemes, is expected for supporting routine design simulations. Pin power reconstruction capability was also designed and implemented with the Griffin ISOXML module to enhance all the low-order transport solvers for more accurate multiphysics simulations. Numerical results are presented for demonstrating the capabilities and verifying their performance, and future works are discussed.

97 MATHEMATICS AND COMPUTING↗

Improved Cross Section Generation Capability of Griffin in FY22

The Griffin code is a Multiphysics Object-Oriented Simulation Environment (MOOSE) based reactor multiphysics analysis application jointly developed by Idaho National Laboratory and Argonne National Laboratory. The code includes a variety of deterministic steady-state transport solvers for fixed source, k-eigenvalue, adjoint, and subcritical multiplication as well as transient solvers for spatial dynamics with the improved quasi-static method. Griffin uses cross section data in the ISOXML format generated from external deterministic or Monte Carlo cross section generation codes. In recent years, the MC 2 -3 modules have been added to Griffin for fast reactor cross section generation, and the self-shielding application programming interface (SSAPI) was implemented in the ISOXML module for thermal reactor cross section generation. The on-the-fly slowing down method and double-heterogeneity treatment have been implemented to SSAPI and verified against particulate fuel-bearing graphite-moderated thermal reactor problems with high accuracy. This year, work has been focused on improving the cross section generation capability of ISOXML and streamlining the cross section generation procedures. In addition, the form function data were added to ISOXML in order to support the pin power reconstruction capability that was newly implemented in Griffin in this fiscal year. To facilitate the cross section generation using MC 2 -3 and SSAPI in Griffin, the cross section generation workflows have been set up for both fast and thermal spectrum reactors. The MOOSE action system tool was devised for fast spectrum problems, and the MOOSE stochastic tool was adopted to the branch calculation procedure for thermal spectrum problems. Meanwhile, to ensure the accuracy of group-constants, the thermal up-scattering kernel calculator accounting for resonance scattering was implemented in ISOXML, demonstrating the accurate computation of a Doppler-broadened scattering kernel of any Legendre order within a reasonable timescale. Other aspects of ISOXML, such as deletion solver and data, documentation, ISOXML file management, and the interface for Mixture, were improved as well.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

A large-scale analysis of bioinformatics code on GitHub

In recent years, the explosion of genomic data and bioinformatic tools has been accompanied by a growing conversation around reproducibility of results and usability of software. However, the actual state of the body of bioinformatics software remains largely unknown. Here, the purpose of this paper is to investigate the state of source code in the bioinformatics community, specifically looking at relationships between code properties, development activity, developer communities, and software impact. To investigate these issues, we curated a list of 1,720 bioinformatics repositories on GitHub through their mention in peer-reviewed bioinformatics articles. Additionally, we included 23 high-profile repositories identified by their popularity in an online bioinformatics forum. We analyzed repository metadata, source code, development activity, and team dynamics using data made available publicly through the GitHub API, as well as article metadata. We found key relationships within our dataset, including: certain scientific topics are associated with more active code development and higher community interest in the repository; most of the code in the main dataset is written in dynamically typed languages, while most of the code in the high-profile set is statically typed; developer team size is associated with community engagement and high-profile repositories have larger teams; the proportion of female contributors decreases for high-profile repositories and with seniority level in author lists; and, multiple measures of project impact are associated with the simple variable of whether the code was modified at all after paper publication. In addition to providing the first large-scale analysis of bioinformatics code to our knowledge, our work will enable future analysis through publicly available data, code, and methods.

97 MATHEMATICS AND COMPUTING↗