Search NASA⌕ Search

SEARCH · Search NASA

Results for “code generation”

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

Unaligned instruction relocation

In one embodiment, a computer-implemented method includes receiving source code to be compiled into an executable file for an unaligned instruction set architecture (ISA). Aligned assembled code is generated, by a computer processor. The aligned assembled code complies with an aligned ISA and includes aligned processor code for a processor and aligned accelerator code for an accelerator. A first linking pass is performed on the aligned assembled code, including relocating a first relocation target in the aligned accelerator code that refers to a first object outside the aligned accelerator code. Unaligned assembled code is generated in accordance with the unaligned ISA and includes unaligned accelerator code for the accelerator and unaligned processor code for the processor. A second linking pass is performed on the unaligned assembled code, including relocating a second relocation target outside the unaligned accelerator code that refers to an object in the unaligned accelerator code.

Bertolli, Carlo↗

Coupling Noah-Multiparameterization land-surface Model with Energy Research and Forecasting Model

The Energy Research and Forecasting (ERF) model is a high-performance atmospheric model built on the AMReX adaptive mesh refinement (AMR) framework, enabling efficient simulations on heterogeneous computing platforms that combine multicore processors with hardware accelerators. To support land–atmosphere interactions within ERF’s AMR-based environment, a land-surface model must be capable of operating directly on hierarchically refined meshes. In this work, we present a methodology for coupling the Fortran-based Noah-Multiparameterization (Noah-MP) land-surface model with ERF’s C++ codebase. Rather than rewriting Noah-MP, we construct a Fortran–C interoperability layer using CodeScribe, a tool that leverages large language models (LLMs) to automate the generation of interface code. CodeScribe applies structured prompting techniques to generate bindings that support efficient data exchange and function calls between ERF and Noah-MP. The coupling framework also incorporates AMR-aware data handling strategies, allowing NoahMP to operate seamlessly within ERF’s hierarchical mesh structure. This work provides a structured approach for integrating legacy Fortran models into modern C++-based modeling systems using LLM-assisted code generation.

54 ENVIRONMENTAL SCIENCES↗

RGM: Random Geological Model Generation Package

This Fortran code is to accompany a manuscript to be submitted to Computers & Geosciences, a high-impact, peer-reviewed journal in computer methods for geosciences research. This Fortran code focuses on generation of synthetic geological models using a multi-randomization strategy. Generating high-fidelity synthetic geological models, including realistic seismic reflector migration images, faults, salt bodies, and relative geological time images, is the key for many supervised machine learning methods that aim to delineate faults and other geological properties of interest from seismic migration images. Our package contains two major functionalities: generating 2D synthetic random geological models and generating 3D synthetic random geological models. In each step of the generation process, we set random values for key properties of a geological model to improve the fidelity of the resulting geological model. The package also includes example codes on how to use the random geological model generation subroutines. We name this package RGM – Random Geological Model generation package.

Gao, Kai↗

Seismic Contingency Auto Generator

This code takes in premade earthquake scenario XML files from USGS, power grid data, and converts them into a contingency file (.con file) that can be used by power grid solvers. Within the .con file are a number (Specified by the user) of contingencies that have randomly failed power transformers based on their likelihood of failure and peak ground acceleration (PGA) value around the transformer. The transformers' likelihood of failure was calculated based on a variety of finite element modeling on various transformer designed for specific transformer voltage classes. Parameters from these FEM were used to create generic fragility curves for transformers within a specific voltage class, which correspond with earthquake PGA values to produced a probability of failure for a given earthquake scenario. More refined versions of this process, such as specifying specific transformer design categories within a voltage class, could also be applied in future iterations of the software.

Vaagensmith, Bjorn [Idaho National Laboratory (INL↗

Fusion Neutron Generator

The proposed code, named FROG (Fusion neutron Generator) is built upon the open-source particle transport Monte Carlo toolkit Geant4. Geant4 provides C++ classes that can be leveraged to build application-specific codes dealing with the transport of particles through matter. Geant4-based codes are applied in high-energy particle physics experiments, medical applications, shielding, and space applications for example. The FROG code allows the user to define the geometry of a neutron converter device shaped as a hollow cylinder, where a neutron breeding material such as lithium deuteride (LiD) is cladded by two concentric cylinders. Such neutron converter is then placed inside a regular nuclear fission reactor, where thermal neutrons will react with the neutron breeder material (typically, Lithium 6), and through a series of reactions, will generate high-energy neutrons – neutrons whose kinetic energy are around 14 MeV. The hollowed central portion can hold a specimen that will be bombarded by high-energy neutrons created inside the neutron breeding material. Figuratively speaking, this type of device transforms neutrons from thermal (~0.625 eV) to fusion (~14 MeV) energies and is sometimes termed “fusion-to-thermal neutron converters” in the literature. The code consists of C++ source file compiled and linked to generate an executable. The user can select the dimensions of the converter (radius, length, and thickness of the breeder material), the breeder material type, the cladding material, and the specimen material that will be activated or irradiated. As input, the neutron flux for a specific location inside a reactor, for instance, positions in ATR, is required. As output, the code predicts the number of high-energy neutrons produced, the total neutron flux and fluence as well as its detailed spectrum. The physics involved in such device is very complex, as it requires modeling neutron transport, light-ion (tritons) transport, as well as fusion reactions. The Geant4 toolkit provides the required physical models.

Martin, NicholasP. [Idaho National Laboratory (INL↗

Evaluation of OpenAI Codex for HPC Parallel Programming Models Kernel Generation

We evaluate AI-assisted generative capabilities on fundamental numerical kernels in high-performance computing (HPC), including AXPY, GEMV, GEMM, SpMV, Jacobi Stencil, and CG. We test the generated kernel codes for a variety of language-supported programming models, including (1) C++ (e.g., OpenMP [including offload], OpenACC, Kokkos, SyCL, CUDA, and HIP), (2) Fortran (e.g., OpenMP [including offload] and OpenACC), (3) Python (e.g., numpy, Numba, cuPy, and pyCUDA), and (4) Julia (e.g., Threads, CUDA.jl, AMDGPU.jl, and KernelAbstractions.jl). We use the GitHub Copilot capabilities powered by the GPT-based OpenAI Codex available in Visual Studio Code as of April 2023 to generate a vast amount of implementations given simple + + prompt variants. To quantify and compare the results, we propose a proficiency metric around the initial 10 suggestions given for each prompt. Results suggest that the OpenAI Codex outputs for C++ correlate with the adoption and maturity of programming models. For example, OpenMP and CUDA score really high, whereas HIP is still lacking. We found that prompts from either a targeted language such as Fortran or the more general purpose Python can benefit from adding code keywords, while Julia prompts perform acceptably well for its mature programming models (e.g., Threads and CUDA.jl). We expect for these benchmarks to provide a point of reference for each programming model's community. Overall, understanding the convergence of large language models, AI, and HPC is crucial due to its rapidly evolving nature and how it is redefining human-computer interactions.

Godoy, William↗

Monte Carlo neutronics benchmarks on nuclear fuel depletion: A review

Monte Carlo (MC) neutronics codes are used widely for academic and industrial needs. Several schemes of coupling MC neutronics code with isotope generation and depletion code exist, which are used for performing nuclear fuel depletion simulations. These simulations can estimate the inventory of isotopes in neutron irradiated nuclear reactor fuel. However, the accuracy of these simulations shall be validated through experiments. MC codes are seldom validated by isotopic benchmarks compared to criticality benchmarks. This work compiles and analyzes the fuel depletion benchmarks and validations used to analyze the performance of MC-based fuel depletion neutronics codes. Analyses of these benchmarks and validations showed that the computed concentrations of 133 Cs, 135 Cs, 137 Cs, 148 Nd, 239 Pu, 240 Pu, and 241 Pu in the irradiated fuel by the depletion codes agreed with the measured values within 10% error. However, the computed concentrations of 125 Sb, 242 Cm, 243 Cm, 244 Cm, 245 Cm, and 246 Cm had errors more than 15% compared to the measured values. As a result, Ventina depletion code showed the most accurate predictions for the greatest number of isotope concentrations compared to ORIGEN2 and CINDER90.

11 NUCLEAR FUEL CYCLE AND FUEL MATERIALS↗

Dwave compatible C to Verilog converter

This software is a C to Verilog converter. However it doesn't just generate any Verilog code, it is intended to generate Verilog code compatible with execution over quantum based D-Wave systems.

Mohamed, Hassan↗

Execution of computation graphs

A computation graph is accessed. In the computation graph, operations to be performed are represented as interior nodes, inputs to the operations are represented as leaf nodes, and a result of the operations is represented as a root. Selected sets of the operations are combined to form respective kernels of operations. Code is generated execute the kernels of operations. The code is executed to determine the result.

Ravishankar, Mahesh↗

Compiler directed fine grained power management

Systems, methods, devices, and computer-implemented instructions for processor power management implemented in a compiler. In some implementations, a characteristic of code is determined. An instruction based on the determined characteristic is inserted into the code. The code and inserted instruction are compiled to generate compiled code. The compiled code is output.

Bharadwaj, Vedula Venkata Srikant↗

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↗

Many-body electronic structure of LaScO 3 by real-space quantum Monte Carlo

We present real space quantum Monte Carlo (QMC) calculations of the scandate LaSc0 3 that proved to be challenging for traditional electronic structure approaches due to strong correlation effects resulting in inaccurate band gaps from DFT and GW methods when compared with existing experimental data. Besides calculating an accurate QMC band gap corrected for supercell size biases and in agreement with numerous experiments, we also predict the cohesive energy of the crystal using the standard fixed-node QMC without any empirical or non-variational parameters. We show that promotion (optical) gap and fundamental gap agree with each other illustrating a clear absence of significant excitonic effects in the ideal crystal. We obtained these results in perfect consistency in two independent tracks that employ different basis sets (plane wave vs. localized gaussians), different codes for generating orbitals (QUANTUM ESPRESSO vs. CRYSTAL), different QMC codes (QMCPACK vs. QWALK) and different high-accuracy pseudopotentials (ccECPs vs. Troullier-Martins) presenting the maturity and consistency of QMC methodology and tools for studies of strongly correlated problems.

75 CONDENSED MATTER PHYSICS, SUPERCONDUCTIVITY AND↗

Automated Fortran–C++ Bindings for Large-Scale Scientific Applications

Although many active scientific codes use modern Fortran, most contemporary scientific software libraries are implemented in C and C++. Providing their numerical, algorithmic, or data management features to Fortran codes requires writing and maintaining substantial amounts of glue code. This paper introduces a tool that automatically generates native Fortran 2003 interfaces to C and C++ libraries. The tool supports C++ features that have no direct Fortran analog, such as templated functions and exceptions. Finally, a set of simple examples demonstrates the utility and scope of the tool, and timing measurements with a mock numerical library illustrate the minimal performance impact of the generated wrapper code.

97 MATHEMATICS AND COMPUTING↗

MatMCNP v. 4.0

https://www.osti.gov/doecMatMCNP is a code for generating material cards for the MCNP radiation transport code. The program allows for material specification as either atomic or weight percent (fractions). MatMCNP also permits the specification of enriched lithium, boron, and/or uranium. In addition to producing the material cards for MCNP, the code calculates the atomic (or number) density in atoms/barn-cm as well as the multiplier that should be used to convert neutron and gamma fluences into dose in the material specified.

Depriest, Kendall↗

A universal implementation of radiative effects in neutrino event generators

Due to the similarities between electron-nucleus (eA) and neutrino-nucleus scattering (νA), eA data can contribute key information to improve cross-section modeling in eA and hence in νA event generators. However, to compare data and generated events, either the data must be radiatively corrected or radiative effects need to be included in the event generators. We implemented a universal radiative corrections program that can be used with all reaction mechanisms and any eA event generator. Our program includes real photon radiation by the incident and scattered electrons, and virtual photon exchange and photon vacuum polarization diagrams. It uses the “extended peaking” approximation for electron radiation and neglects charged hadron radiation. This method, validated with GENIE, can also be extended to simulate νA radiative effects. This work facilitates data-event-generator comparisons used to improve νA event generators for the next-generation of neutrino experiments. Program Title: emMCRadCorr CPC Library link to program files:https://doi.org/10.17632/hmsxg82vnf.1 Developer's repository link:https://github.com/e4nu/emMCRadCorr Licensing provisions: AGPLv3 Programming language:C++ Nature of problem: Radiative effects can significantly modify the event kinematics and the resulting cross-sections. Such effects must be accounted for when comparing event generators to eA data. Existing radiative correction codes are tailored to specific processes and topologies, and are limited to a restricted phase space defined by the spectrometer acceptance. Therefore, a more general approach is required to apply radiative corrections to semi-inclusive and exclusive eA measurements. Solution method: Our program incorporates real photon radiation from both the incident and scattered electrons, as well as virtual photon exchange and photon vacuum polarization effects. It employs the “extended peaking” approximation for electron radiation while neglecting contributions from charged hadron radiation. The code is fully decoupled from event generator codes and can be used for all event generators in the market.

72 PHYSICS OF ELEMENTARY PARTICLES AND FIELDS↗