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 73 records · Page 4

KokkACC: Enhancing Kokkos with OpenACC

Template metaprogramming is gaining popularity as a high-level solution for achieving performance portability on heterogeneous computing resources. Kokkos is a representative approach that offers programmers high-level abstractions for generic programming while most of the device-specific code generation and optimizations are delegated to the compiler through template specializations. For this, Kokkos provides a set of device-specific code specializations in multiple back ends, such as CUDA and HIP. Unlike CUDA or HIP, OpenACC is a high-level and directive-based programming model. This descriptive model allows developers to insert hints (pragmas) into their code that help the compiler to parallelize the code. The compiler is responsible for the transformation of the code, which is completely transparent to the programmer. This paper presents an OpenACC back end for Kokkos: KokkACC. As an alternative to Kokkos’s existing device-specific back ends, KokkACC is a multi-architecture back end providing a high-productivity programming environment enabled by OpenACC’s high-level and descriptive programming model. Moreover, we have observed competitive performance; in some cases, KokkACC is faster (up to 9×) than NVIDIA’s CUDA back end and much faster than OpenMP’s GPU offloading back end. This work also includes implementation details and a detailed performance study conducted with a set of mini-benchmarks (AXPY and DOT product) and three mini-apps (LULESH, miniFE and SNAP, a LAMMPS proxy mini-app).

Valero Lara, Pedro↗

The DESI N -body simulation project – I. Testing the robustness of simulations for the DESI dark time survey

ABSTRACT Analysis of large galaxy surveys requires confidence in the robustness of numerical simulation methods. The simulations are used to construct mock galaxy catalogues to validate data analysis pipelines and identify potential systematics. We compare three N-body simulation codes, abacus, gadget-2, and swift, to investigate the regimes in which their results agree. We run N-body simulations at three different mass resolutions, 6.25 × 108, 2.11 × 109, and 5.00 × 109 h−1 M⊙, matching phases to reduce the noise within the comparisons. We find systematic errors in the halo clustering between different codes are smaller than the Dark Energy Spectroscopic Instrument (DESI) statistical error for $s\ \gt\ 20\ h^{-1}$ Mpc in the correlation function in redshift space. Through the resolution comparison we find that simulations run with a mass resolution of 2.1 × 109 h−1 M⊙ are sufficiently converged for systematic effects in the halo clustering to be smaller than the DESI statistical error at scales larger than $20\ h^{-1}$ Mpc. These findings show that the simulations are robust for extracting cosmological information from large scales which is the key goal of the DESI survey. Comparing matter power spectra, we find the codes agree to within 1 per cent for k ≤ 10 h Mpc−1. We also run a comparison of three initial condition generation codes and find good agreement. In addition, we include a quasi-N-body code, FastPM, since we plan use it for certain DESI analyses. The impact of the halo definition and galaxy–halo relation will be presented in a follow-up study.

79 ASTRONOMY AND ASTROPHYSICS↗

wa-hls4ml and lui-gnn: A benchmark and GNN-based surrogate model for hls4ml resource and latency estimation

As machine learning (ML) increasingly serves as a tool for addressing real-time challenges in scientific applications, the development of advanced tooling has significantly reduced the time required to iterate on various designs. These advancements have solved major obstacles, but also exposed new challenges. For example, processes that were not previously considered bottlenecks, such as model synthesis, are now becoming limiting factors in the rapid iteration of designs. To reduce these emerging constraints, multiple efforts are being launched toward designing an ML-based surrogate model that estimates resource usage of synthesized accelerator architectures. This model would reduce the design iteration time, especially when designing within a set of given hardware constraints. This approach shows considerable potential, but as it stands, the effort is early and would benefit from coordination and standardization to assist future work as it emerges. We introduce wa-hls4ml, a benchmark for ML accelerator resource and latency estimation, and its corresponding initial dataset of more than 100,000 fully connected neural networks, all synthesized using hls4ml and targeting Xilinx FPGAs. In addition to the resource utilization and latency data provided, the dataset includes generated artifacts and log files for many of the synthesized neural networks, in order to support future research in ML-based code generation. The benchmark evaluates the performance of resource and latency predictors against several common ML model architectures, primarily originating from scientific domains, as exemplar models, as well as the average performance across a subset of the dataset. We measure the performance of a given predictor model through multiple metrics, including $R^2$ score and SMAPE on regression tasks, as well as inference time to further characterize the estimator under test. Additionally, we introduce the latency/utilization inference graph neural network (lui-gnn), a surrogate model that uses a graph neural network to represent input architectures in the form of a directed graph. This graph representation allows for a diverse set of model architectures to all be effectively handled by a surrogate model. We present the architecture and performance of the model, as evaluated by the new proposed benchmark, including SMAPE, $R^2$ score, and inference times, and find that lui-gnn generally predicts latency and utilization for the 75\% quantile within several percent of the synthesized resources on the synthetic test dataset, indicating that this approach of estimating resource and latency via a surrogate models has promise and warrants further research.

72 PHYSICS OF ELEMENTARY PARTICLES AND FIELDS↗

LibraryX: A Framework for Cross-Library-Call Optimization

Scientific applications utilize performance libraries as a software engineering concept: these libraries encapsulate important and well-understood (mathematical) operations, allow for reuse, and are implemented and tuned by experts. Domain scientists then implement complex algorithms based on these domainspecific libraries. While individual library calls are optimized, larger performance gains across sequences of calls—sometimes spanning multiple libraries—are often unrealized, forcing a trade-off between performance and implementation complexity.To overcome this issue, we propose LibraryX, an approach and a system that allows for cross-library-call optimization even when library calls stem from multiple performance libraries. LibraryX annotates library calls with semantic information and optimizes entire directed acyclic graphs (DAGs) of calls dynamically using the SPIRAL code generation system. We demonstrate its effectiveness across a range of memory bound workloads, achieving significant speedups on Nvidia, AMD, and Intel accelerators compared to code using native libraries without cross-call optimization.

Rao, Sanil [Carnegie Mellon University,Department ↗

HFIRCON Version 1.0.5 User Guide

The High Flux Isotope Reactor (HFIR) Controller (HFIRCON) code is a collection of python routines and C plugins that automate the workflow for fuel and single- or multicycle target depletion analyses for HFIR at Oak Ridge National Laboratory (ORNL). This code calls the LAVAMINT (LAVA Model Interrogator) parallel (MCNP) Monte Carlo N-Particle model interrogator to stochastically calculate cell volumes and bounding boxes, the ADVANTG (Automatic Variance Reduction Generation) code package for all variance reduction and source biasing calculations, the ORNL-Transformative Neutronics/MCNP5 transport solver for all transport solutions, and the MSX_DEPLETE module to perform all depletion calculations via the ORIGEN (Oak Ridge Isotope Generation) application programming interface. It also performs a robust set of postprocessing functions to automatically provide summaries of several key metrics that are common to a wide variety of typical HFIR design and safety-basis analyses.

11 NUCLEAR FUEL CYCLE AND FUEL MATERIALS↗

Toward Performance Portable Programming for Heterogeneous System-on-Chips: Case Study with Qualcomm Snapdragon SoC

Future heterogeneous Domain-Specific System-on-Chips (DSSoC) will be extraordinarily complex in terms of processors, memory hierarchies, and interconnection networks.To manage this complexity, architects, system software designers, and application developers need programming technologies that are flexible, accurate, efficient, and productive. These technologies will need to be as independent of any one specific architecture as is practical, because the sheer dimensionality and scale of the complexity will not allow porting and optimizing applications foreach given DSSoC. To address these issues, we are developing Cosmic Castle, a performance portable programming toolchain for streaming applications on heterogeneous architectures. The primary focus of Cosmic Castle is on enabling efficient and performant code generation through the smart compiler and intelligent runtime system. This paper presents the preliminary evaluation of our ongoing work toward Cosmic Castle. Specifically, we detail our code porting efforts and evaluate various benchmarks on the Qualcomm Snapdragon SoC using tools developed through Cosmic Castle.

Cabrera, Anthony↗

ARES v1.x - Performance Portable Tool to Simulate Supernovae based on Parthenon Framework

Historically, codes for simulating supernovae (such as Arepo, FLASH or LEAFS) have been at the forefront of scientific high-performance computing to the immense computational resources required for full 3D simulations. However, given the shift towards heterogenous HPC architectures, many current-generation codes are at the risk of losing their competitiveness as they are only designed to run on homogeneous CPU-only systems. There exist several efforts to enable these codes for GPU’s, however, these efforts only consider specific architectures or vendors (e.g., implement only CUDA or HIP), limiting themselves to a small range of exascale computing systems. Frameworks such as Kokkos aim to provide a framework which is agnostic of the targeted architecture, enabling the development of performant and portable code. In the Ares code, we develop a performance portable tool to simulate supernovae based on the Parthenon Framework, which in turn uses Kokkos in the background. Here, the Parthenon Framework provides an interface to the underlying mesh-refinement routines, which form the backbone of our code. In addition, we incorporate the already existing Singularity-EOS toolkit to provide us with various equations of state, primarily the Helmholtz equation of state. We also include the JINA Reaclib as a basis for our nuclear network solver. Finally, we implement a gravity solver to complete the required physics. This setup will provide us with a minimal code base to simulate supernova in a similar style to the tried-and-tested Arepo code, but in a futureproof performance portable framework.

Lim, Hyun↗

Data and Code for Understanding Generative AI Content with Embedding Models

This repository contains code for the experiments in the paper "Understanding Generative AI Content with Embedding Models". Constructing high-quality features is critical to any quantitative data analysis. While feature engineering was historically addressed by carefully hand-crafting data representations based on domain expertise, deep neural networks (DNNs) now offer a radically different approach. DNNs implicitly engineer features by transforming their input data into hidden feature vectors called embeddings. For embedding vectors produced by foundation models -- which are trained to be useful across many contexts -- we demonstrate that simple and well-studied dimensionality-reduction techniques such as Principal Component Analysis uncover inherent heterogeneity in input data concordant with human-understandable explanations. Of the many applications for this framework, we find empirical evidence that there is intrinsic separability between real samples and those generated by artificial intelligence (AI).

Vargas, Max [Pacific Northwest National Laboratory↗

Measurement and analysis of GPU-accelerated applications with HPCToolkit

To address the challenge of performance analysis on the US DOE’s forthcoming exascale supercomputers, Rice University has been extending its HPCToolkit performance tools to support measurement and analysis of GPU-accelerated applications. To help developers understand the performance of accelerated applications as a whole, HPCToolkit’s measurement and analysis tools attribute metrics to calling contexts that span both CPUs and GPUs. To measure GPU-accelerated applications efficiently, HPCToolkit employs a novel wait-free data structure to coordinate monitoring and attribution of GPU performance. To help developers understand the performance of complex GPU code generated from high-level programming models, HPCToolkit constructs sophisticated approximations of call path profiles for GPU computations. To support fine-grained analysis and tuning, HPCToolkit uses PC sampling and instrumentation to measure and attribute GPU performance metrics to source lines, loops, and inlined code. To supplement fine-grained measurements, HPCToolkit can measure GPU kernel executions using hardware performance counters. To provide a view of how an execution evolves over time, HPCToolkit can collect, analyze, and visualize call path traces within and across nodes. Finally, on NVIDIA GPUs, HPCToolkit can derive and attribute a collection of useful performance metrics based on measurements using GPU PC samples. Here, we illustrate HPCToolkit’s new capabilities for analyzing GPU-accelerated applications with several codes developed as part of the Exascale Computing Project.

97 MATHEMATICS AND COMPUTING↗

Towards Auto-Generated Data Systems

After decades of progress, database management systems (DBMSs) are now the backbones of many data applications that we interact with on a daily basis. Yet, with the emergence of new data types and hardware, building and optimizing new data systems remain as difficult as the heyday of relational databases. In this paper, we summarize our work towards automating the building and optimization of data systems. Drawing from our own experience, we further argue that any automation technique must address three aspects: user specification, code generation, and result validation. We conclude by discussing a case study using videos data processing, along with opportunities for future research towards designing data systems that are automatically generated.

Computer Science↗

CMinx: A CMake Documentation Generator

This manuscript introduces CMinx, a program for generating application programming interface (API) documentation written in the CMake language, and CMake modules in particular. Since most of CMinx’s intended audience is comprised of C/C++ developers, CMinx is designed to operate similar to Doxygen, the de facto C/C++ API documentation tool. Specifically, developers annotate their CMake source with “documentation” comments, which are traditional CMake block comments starting with an extra “[” character. The documentation comments, written in reST, describe to the reader how the functions, parameters, and variables should be used. Running CMinx on the annotated source code generates reST files containing the API documentation. The reST files can then be converted into static websites with tools such as Sphinx or easily converted to another format via Pandoc.

97 MATHEMATICS AND COMPUTING↗

MFC 5.0: An exascale many-physics flow solver

Many problems of interest in engineering, medicine, and the fundamental sciences rely on high-fidelity flow simulation, making performant computational fluid dynamics solvers a mainstay of the open-source software community. Previous work MFC 3.0 was made a published, documented, and open-source solver via Bryngelson et al. Comp. Phys. Comm. (2021) with numerous physical features, numerical methods, and scalable infrastructure. MFC 5.0 is a significant update to MFC 3.0, featuring a broad set of well-established and novel physical models and numerical methods, as well as the introduction of GPU and APU (or superchip) acceleration. Here, we exhibit state-of-the-art performance and ideal scaling on the first two exascale supercomputers, OLCF Frontier and LLNL El Capitan. Combined with MFC’s single-accelerator performance, MFC achieves exascale computation in practice, and achieved the largest-to-date public CFD simulation at 200 trillion grid points as a 2025 ACM Gordon Bell Prize finalist. New physical features include the immersed boundary method, N-fluid phase change, Euler–Euler and Euler–Lagrange sub-grid bubble models, fluid-structure interaction, hypo- and hyper-elastic materials, chemically reacting flow, two-material surface tension, magnetohydrodynamics (MHD), and more. Numerical techniques now represent the current state-of-the-art, including general relaxation characteristic boundary conditions, WENO variants, Strang splitting for stiff sub-grid flow features, and low Mach number treatments. Weak scaling to tens of thousands of GPUs on OLCF Summit and Frontier and LLNL El Capitan achieves efficiencies within 5% of ideal to over 90% of their respective system sizes. Strong scaling results for a 16-times increase in device count show parallel efficiencies over 90% on OLCF Frontier. MFC’s software stack has undergone further improvements, including continuous integration, which ensures code resilience and correctness through over 300 regression tests; metaprogramming, which reduces code length while maintaining performance portability; and code generation for computing chemical reactions

Computational fluid dynamics↗

N 5 -Scaling Excited-State-Specific Perturbation Theory

In this paper, we show that by working in a basis similar to that of the natural transition orbitals and using a modified zeroth-order Hamiltonian, the cost of a recently introduced perturbative correction to excited-state mean field theory can be reduced from seventh to fifth order in the system size. The (occupied) 2 (virtual) 3 asymptotic scaling matches that of ground-state second-order Møller-Plesset theory but with a significantly higher prefactor because the bottleneck is iterative: it appears in the Krylov-subspace-based solution of the linear equation that yields the first-order wave function. Here, we discuss the details of the modified zeroth-order Hamiltonian we use to reduce the cost and the automatic code generation process we used to derive and verify the cost scaling of the different terms. Overall, we find that our modifications have little impact on the method's accuracy, which remains competitive with singles and doubles equation-of-motion coupled cluster.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

Application of real‐time nonlinear model predictive control for wave energy conversion

Abstract This article presents an approach to implement a Nonlinear Model Predictive Controller (NMPC) in real‐time with a non‐standard cost index. The proposed technique's applications are presented to maximize the energy produced by a Wave Energy Converter (WEC) when the cost index is a non‐quadratic piecewise discontinuous functional of some design variables. The presented framework is based on pseudo‐quadratisation and weight scheduling, which is implemented using the ACADO toolkit for MATLAB/Simulink. The proposed strategy features code generation and deployment on the real‐time target machines for industrial applications. The simulations and experiments confirm the success of the proposed approach in achieving the feasible operation of the NMPC and an optimal power capture by the wave energy converters.

16 TIDAL AND WAVE POWER↗

Evaluation of PBR Spent Fuel Criticality and Dose Rate Compliance for Storage and Transportation

Spent tri-structural isotropic (TRISO)–based fuels have a strong track record in storage and transportation without documented incidents. This work seeks to reduce uncertainty to aid in more informed spent fuel management of TRISO-based fuels by modeling both fresh and spent pebble bed reactor (PBR) fuel and comparing the results to the regulatory standards from 10 CFR 71. SCALE was used for all modeling due to it having fast and accurate methods for handling PBR fuel modeling, as well as having an efficient method for shielding calculations in monaco with automated variance reduction using importance calculations (MAVRIC), which utilizes the consistent adjoint-driven importance sampling (CADIS) and the forward-weighted consistent adjoint-driven importance sampling (FW-CADIS) methods. KENO-VI was used for all criticality calculations, TSUNAMI was used for uncertainty quantification on k-effective, TRITON and the Oak Ridge isotope generation code (ORIGEN) were both used for depletion of the fuel, and MAVRIC was used for shielding calculations. For criticality assessments, this study focused on the requirement that the value of the neutron multiplication factor, k-effective (k-eff), would not exceed a peak value of 0.95, including uncertainty, with 95% confidence. Criticality was initially examined by modeling fresh fuel from three different designs—HTR-10 fuel, PBMR-400 fuel, and demonstration fuel representative of a TRISO-fueled modern high-temperature gas reactor (HTGR) design, henceforth referred to as Demo HTGR—and placing them into various sized containers with conditions described in 10 CFR 71 to quantify the peak k-eff state. When the peak value of 0.95 k-eff was exceeded, mitigation methods were examined in those scenarios. Burnup credit, pebble displacement in areas of strong neutron multiplication, and random pebble replacement using pebbles of various compositions and replacement fractions were examined. In summary, the criticality of PBR fuels can be well accounted for by restricting container size, taking credit for burnup, or by displacing/replacing pebbles. Uncertainty of the k-eff due to nuclear data uncertainties was recorded at ~0.6644%Δk/k, or roughly 664% mil (pcm). The nuclear data–induced uncertainty was relatively small and should not require significant modification in the design to be accounted for. Revisions to the evaluated nuclear data file values have been shown to have a larger impact than nuclear data–induced uncertainty. For dose rate aspects, U.S. Nuclear Regulatory Commission regulations require a maximum dose rate of 10 millirem per hour (mrem/h) at 2 meters. In examining the dose rate behavior of spent PBR fuel, the representative Demo HTGR fuel was modeled exclusively due to it possessing the highest target burnup of the examined fuels. Equilibrium cycle modeling methods were used to produce a higher-fidelity discharge isotopic composition than simple assumptions, such as reflected pebbles. The discharge composition was used as a source term in the fixed-source transport shielding calculations, and dose rates were calculated at 2 m for the shortest possible cooling time. The low concentration of fuel material led to dose rates that were in line with regulatory limits, despite the high burnup when compared to traditional light water reactor fuels. In conclusion, the methods employed in this study would require more work to further verify and validate and are limited to the criticality and dose rate analyses performed.

11 - NUCLEAR FUEL CYCLE AND FUEL MATERIALS↗

Simulation of plasma transport in MPS-LD linear plasma device by using BOUT++

Here a linear plasma device (LPD) module based on the 2D transport module under the BOUT++ framework is developed in this paper to simulate plasma transport in the LPD. The LPD module includes three parts, i.e. magnetic field calculation, simulation mesh generation and plasma transport setup. The magnetic field is calculated with the circular current loop using the location and current information of each coil. The mesh generation code can produce a simulation mesh for LPD by employing the magnetic field. The plasma transport model is based on the reduced Braginskii equations, which consist of the continuity equation, momentum equation, and energy equation. The fluid neutral model is applied for neutral particle simulation. Deuterium (D) and helium (He) ions and atoms can be simulated by the model. The first attempt to simulate plasma transport in the new LPD, called multiple plasma simulation linear plasma device (MPS-LD), is presented using the developed model. The D plasma transport in the MPS-LD is simulated and benchmarked against the two-point model, showing the validation of the BOUT++ simulation. The effects of radial transport on the heat load to the target are studied, which illustrates the significant impact of the radial diffusivities $D_⟂$ and $\mathcal{X}_{⟂i,e}$ on the plasma. Moreover, the He impurity injection process during the discharge is studied with emphasis on plasma–impurity interactions. The simulation results show that He injection can reduce the plasma energy load to the target significantly, and the efficiency depends on the He source density and injection velocity. The present work provides an alternative and flexible simulation tool for plasma transport in LPDs.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗

Synergizing human expertise and AI efficiency with language model for microscopy operation and automated experiment design

With the advent of large language models (LLMs), in both the open source and proprietary domains, attention is turning to how to exploit such artificial intelligence (AI) systems in assisting complex scientific tasks, such as material synthesis, characterization, analysis and discovery. Here, we explore the utility of LLMs, particularly ChatGPT4, in combination with application program interfaces (APIs) in tasks of experimental design, programming workflows, and data analysis in scanning probe microscopy, using both in-house developed APIs and APIs given by a commercial vendor for instrument control. We find that the LLM can be especially useful in converting ideations of experimental workflows to executable code on microscope APIs. Beyond code generation, we find that the GPT4 is capable of analyzing microscopy images in a generic sense. At the same time, we find that GPT4 suffers from an inability to extend beyond basic analyses for more in-depth technical experimental design. We argue that an LLM specifically fine-tuned for individual scientific domains can potentially be a better language interface for converting scientific ideations from human experts to executable workflows. Such a synergy between human expertise and LLM efficiency in experimentation can open new doors for accelerating scientific research, enabling effective experimental protocols sharing in the scientific community.

97 MATHEMATICS AND COMPUTING↗

eCC++ : A Compiler Construction Framework for Embedded Domain-Specific Languages

eCC++ is a new compiler construction framework for embedding domain-specific programming languages within C++. That is, the host language is C++, the guest language is the DSL to be embedded in C++, and eCC++ is the tool that enables the embedding. The eCC++ framework is composed of three main components: a front-end, an API for program verification based on a functional and declarative intermediate representation (IR), and a Multi-Level Intermediate Representation (MLIR) code generator. The eCC++ front-end consists of a library of C++ classes and operators that can be used to define the guest language. Guest sources are compiled with any standard C++ compiler, and when run, the resulting executable generates an eCC++ IR representation of the program, which can be verified within the eCC++ framework. Finally, eCC++ allows for high-level and domain-specific optimizations before generating MLIR. In summary, eCC++ aims to act as a generic front-end that enables embedding guest languages into C++, and provides necessary compiler technology for program verification, targeting the existing capabilities in the MLIR infrastructure. The paper evaluates the eCC++ expressiveness and usability describing the process of embedding GraphIt, a high-performance graph language in C++.

Gonzalez Tallada, Marc↗