Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “application programming interfaces”

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 181 records · Page 10

Evaluating MPI resource usage summary statistics

The Message Passing Interface (MPI) remains the dominant programming model for scientific applications running on today’s high-performance computing (HPC) systems. This dominance stems from MPI’s powerful semantics for inter-process communication that has enabled scientists to write applications for simulating important physical phenomena. MPI does not, however, specify how messages and synchronization should be carried out. Those details are typically dependent on low-level architecture details and the message characteristics of the application. Therefore, analyzing an application’s MPI resource usage is critical to tuning MPI’s performance on a particular platform. The result of this analysis is typically a discussion of the mean message sizes, queue search lengths and message arrival times for a workload or set of workloads. While a discussion of the arithmetic mean in MPI resource usage might be the most intuitive summary statistic, it is not always the most accurate in terms of representing the underlying data. In this paper, we analyze MPI resource usage for a number of key MPI workloads using an existing MPI trace collector and discrete-event simulator. Our analysis demonstrates that the average, while easy and efficient to calculate, is a useful metric for characterizing latency and bandwidth measurements, but may not be a good representation of application message sizes, match list search depths, or MPI inter-operation times. Additionally, we show that the median and mode are superior choices in many cases. We also observe that the arithmetic mean is not the best representation of central tendency for data that are drawn from distributions that are multi-modal or have heavy tails. Furthermore, the results and analysis of our work provide valuable guidance on how we, as a community, should discuss and analyze MPI resource usage data for scientific applications.

97 MATHEMATICS AND COMPUTING↗

A Hierarchical Task Scheduler for Heterogeneous Computing

Heterogeneous computing is one of the future directions of HPC. Task scheduling in heterogeneous computing must balance the challenge of optimizing the application performance and the need for an intuitive interface with the programming run-time to maintain programming portability. The challenge is further compounded by the varying data communication time between tasks. This paper proposes RANGER, a hardware-assisted task-scheduling framework. By integrating RISC-V cores with accelerators, the RANGER scheduling framework divides scheduling into global and local levels. At the local level, RANGER further partitions each task into fine-grained subtasks to reduce the overall makespan. At the global level, RANGER maintains the coarse granularity of the task specification, thereby maintaining programming portability. The extensive experimental results demonstrate that RANGER achieves a 12.7× performance improvement on average, while only requires 2.7% of area overhead.

Miniskar, Narasinga Rao↗

Potential of the Julia Programming Language for High Energy Physics Computing

Research in high energy physics (HEP) requires huge amounts of computing and storage, putting strong constraints on the code speed and resource usage. To meet these requirements, a compiled high-performance language is typically used; while for physicists, who focus on the application when developing the code, better research productivity pleads for a high-level programming language. A popular approach consists of combining Python, used for the high-level interface, and C++, used for the computing intensive part of the code. A more convenient and efficient approach would be to use a language that provides both high-level programming and high-performance. The Julia programming language, developed at MIT especially to allow the use of a single language in research activities, has followed this path. In this paper the applicability of using the Julia language for HEP research is explored, covering the different aspects that are important for HEP code development: runtime performance, handling of large projects, interface with legacy code, distributed computing, training, and ease of programming. The study shows that the HEP community would benefit from a large scale adoption of this programming language. The HEP-specific foundation libraries that would need to be consolidated are identified.

97 MATHEMATICS AND COMPUTING↗

WHONDRS-GUI: a web application for global survey of surface water metabolites

Background The Worldwide Hydrobiogeochemistry Observation Network for Dynamic River Systems (WHONDRS) is a consortium that aims to understand complex hydrologic, biogeochemical, and microbial connections within river corridors experiencing perturbations such as dam operations, floods, and droughts. For one ongoing WHONDRS sampling campaign, surface water metabolite and microbiome samples are collected through a global survey to generate knowledge across diverse river corridors. Metabolomics analysis and a suite of geochemical analyses have been performed for collected samples through the Environmental Molecular Sciences Laboratory (EMSL). The obtained knowledge and data package inform mechanistic and data-driven models to enhance predictions of outcomes of hydrologic perturbations and watershed function, one of the most critical components in model-data integration. To support efforts of the multi-domain integration and make the ever-growing data package more accessible for researchers across the world, a Shiny/R Graphical User Interface (GUI) called WHONDRS-GUI was created. Results The web application can be run on any modern web browser without any programming or operational system requirements, thus providing an open, well-structured, discoverable dataset for WHONDRS. Together with a context-aware dynamic user interface, the WHONDRS-GUI has functionality for searching, compiling, integrating, visualizing and exporting different data types that can easily be used by the community. The web application and data package are available at https://data.ess-dive.lbl.gov/view/doi:10.15485/1484811 , which enables users to simultaneously obtain access to the data and code and to subsequently run the web app locally. The WHONDRS-GUI is also available for online use at Shiny Server ( https://xmlin.shinyapps.io/whondrs/ ).

59 BASIC BIOLOGICAL SCIENCES↗

Adrastea: An Efficient FPGA Design Environment for Heterogeneous Scientific Computing and Machine Learning

We present Adrastea, an efficient FPGA design environment for developing scientific machine learning applications. FPGA development is challenging, from deployment, proper toolchain setup, programming methods, interfacing FPGA kernels, and more importantly, the need to explore design space choices to get the best performance and area usage from the FPGA kernel design. Adrastea provides an automated and scalable design flow to parameterize, implement, and optimize complex FPGA kernels and associated interfaces. We show how virtualization of the development environment via virtual machines is leveraged to simplify the setup of the FPGA toolchain while deploying the FPGA boards and while scaling up the automated design space exploration to leverage multiple machines concurrently. Adrastea provides an automated build and test environment of FPGA kernels. By exposing design space hyper-parameters, Adrastea can automatically search the design space in parallel to optimize the FPGA design for a given metric, usually performance or area. Adrastea simplifies the task of interfacing with the FPGA kernels with a simplified interface API. To demonstrate the capabilities of Adrastea, we implement a complex random forest machine learning kernel with 10,000 input features while achieving extremely low computing latency without loss of prediction accuracy, which is required by a scientific edge application at SNS. We also demonstrate Adrastea using an FFT kernel and show that for both applications Adrastea is able to systematically and efficiently evaluate different design options, which reduced the time and effort required to develop the kernel from months of manual work to days of automatic builds.

Young, Aaron↗

RMACXX: An Efficient High-Level C++ Interface over MPI-3 RMA

Parallel scientific applications can benefit from de- coupling communication and synchronization. One-sided pro- gramming abstractions, which separate communication from syn- chronization, have in fact served as a motivation for partitioned global address space (PGAS) models. However, the use of PGAS models in application codes in a manner that fully exploits the benefit of these programming models requires significant development effort. Meanwhile, a vast majority of scientific codes already use the Message Passing Interface (MPI) and need convenient features to support application-specific one-sided communication scenarios. MPI Remote Memory Access (RMA) can be employed for this purpose. MPI is a low-level API, however, and developing applications with MPI RMA requires programmers to be well versed in its nuances. We present RMACXX, a compact set of C++ bindings to MPI-3 RMA, to ease the use of MPI RMA. Unlike other PGAS models, which may have interoperability issues with MPI, RMACXX is written on top of MPI and uses the same runtime as MPI. The basic functionality of RMACXX adds only a relatively small number of extra instructions (about 20) to the critical communication path. Moreover, RMACXX provides an intuitive API for building a wide variety of scientific applications while enjoying performance matching handwritten MPI-3 RMA codes.

MPI-3 RMA, one-sided communication, PGAS, C++, exp↗

or-topas: Operations Research Toolkit for Pyomo Alternative Solutions

SAND2026-16702O OR-TOPAS: Operations Research Toolkit for Pyomo Alternative Solutions is a tool that enhances optimization applications defined by the Pyomo modeling library. It offers functions to generate optimal or near-optimal solutions, operating independently of Pyomo’s solver interface. Users can configure these functions with specific solver names and options, resulting in a custom solution object that returns a list of solutions. The OR-TOPAS library includes methods tailored to the properties of the model, such as binary integer programs versus linear programs, and specific solver interfaces like Gurobi. It does not provide models for specific applications, but it is applicable to a wide range of Pyomo optimization models. Sandia National Laboratories is a multimission laboratory managed and operated by National Technology & Engineering Solutions of Sandia, LLC, a wholly owned subsidiary of Honeywell International Inc., for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-NA0003525.

Siirola, John [Sandia National Lab. (SNL-CA), Live↗

Interface Problem Formulation Improvements with Application to Nuclear Fuel Performance Analysis

The U.S. Department of Energy’s Nuclear Energy Advanced Modeling and Simulation Program aims to develop predictive capabilities by applying computational methods to the analysis and design of advanced reactor and fuel cycle systems. This program has been providing engineering scale support for the development of BISON, a high-fidelity and high-resolution fuel performance tool. This report documents new developments and robustness improvements in mechanical and thermal (gap heat transfer) contact formulations. The improvements range from the migration of industrial level (“assessment”) nuclear fuel model setups to the usage of mortar formulations, the addition of frictional contact to one-dimensional layered representations of fuel and cladding components, and the addition of the Petrov-Galerkin approach to dual mortar, which improves performance on curved, relatively coarse meshes. In addition, the Lagrange-multiplier enforcement of mechanical mortar contact constraints has been extended to two additional types of enforcement: penalty and augmented Lagrange-Uzawa. We show that the latter approach yields the same interface results as dual mortar in the Multiphysics Object-Oriented Simulation Environment, with the advantage of not worsening the condition number of the system matrix—thereby enabling the use of some general implementations of iterative preconditioners, at the expense of additional system evaluations (i.e., augmentations).

42 ENGINEERING↗

Microbial spies and bloggers: programming cells to convert environmental information into discernible signals

Microbes regulate their dynamic behaviors using the chemical and physical characteristics of their environment. The ability of microbes to continuously convert this physicochemical information into biochemical information and to use organic matter in the environment as a power source makes these organisms attractive as chassis for building sensors. However, most biosensors have severe limitations when considering applications in hard-to-image settings like soils, sediments, and wastewater. Emerging technologies at the interface of biomolecular design, microbiome engineering, and synthetic biology offer new tools to program cells and communities as biosensors for these settings. Here, in this review, we describe innovations in biosensor outputs that are enabling new applications in complex environments, including reporters that are read out using electrochemical, gas chromatography, hyperspectral imaging, and next-generation sequencing methods. We also discuss computational advances that are accelerating the diversification of sensing components by mining metagenomics data for new transcriptional regulators and by designing allosteric protein switches that directly regulate reporter outputs using analytes. We highlight emerging opportunities for programming undomesticated microbes in communities to function as distributed sensors in the environment. Finally, we discuss the need for responsible biosensor development and to modernize regulatory frameworks to support evidence-based assessment of environmental biosensors.

analyte↗

RxnRover/CyRxnOpt

CyRxnOpt aims to provide a single software interface to various optimization algorithms, mainly designed for chemical process optimization applications. CyRxnOpt generalizes the optimization process into four high-level “phases”: Installation, Configuration, Training, and Prediction. This allows developers to program to a general interface for each phase of the optimization, simplifying the development of user-friendly tools to lower the barrier of entry into chemical process optimization, especially for automated laboratory workflows which can greatly benefit from access to various optimization techniques. It is also designed so researchers can easily add new or existing algorithms into existing workflows in a user-friendly manner.

Kulathunga, Dulitha Prasanna [Iowa State Universit↗

Engineering Biomolecular Self–Assembly at Solid–Liquid Interfaces

Biomolecular self–assembly is a key process used by life to build functional materials from the “bottom up.” In the last few decades, bioengineering and bionanotechnology have borrowed this strategy to design and synthesize numerous biomolecular and hybrid materials with diverse architectures and properties. However, engineering biomolecular self–assembly at solid–liquid interfaces into predesigned architectures lags the progress made in bulk solution both in practice and theory. Here, recent achievements in programming self–assembly of peptides, proteins, and peptoids at solid–liquid interfaces are summarized and corresponding applications are described. Recent advances in the physical understandings of self–assembly pathways obtained using in situ atomic force microscopy are also discussed. Furthermore, these advances will lead to novel strategies for designing biomaterials organized at and interfaced with inorganic surfaces.

36 MATERIALS SCIENCE↗

A Backend-agnostic, Quantum-classical Framework for Simulations of Chemistry in C ++

As quantum computing hardware systems continue to advance, the research and development of performant, scalable, and extensible software architectures, languages, models, and compilers is equally as important to bring this novel coprocessing capability to a diverse group of domain computational scientists. For the field of quantum chemistry, applications and frameworks exist for modeling and simulation tasks that scale on heterogeneous classical architectures, and we envision the need for similar frameworks on heterogeneous quantum-classical platforms. Furthermore, we present the XACC system-level quantum computing framework as a platform for prototyping, developing, and deploying quantum-classical software that specifically targets chemistry applications. We review the fundamental design features in XACC, with special attention to its extensibility and modularity for key quantum programming workflow interfaces and provide an overview of the interfaces most relevant to simulations of chemistry. A series of examples demonstrating some of the state-of-the-art chemistry algorithms currently implemented in XACC are presented, while also illustrating the various APIs that would enable the community to extend, modify, and devise new algorithms and applications in the realm of chemistry.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

NanoMechanics: Elasticity and Friction in Nano‐Objects

A large scientific and technological effort is underway to investigate the properties of two‐dimensional (2D) materials to become building blocks in integrated nano‐electronic and photonic circuits, composites, coatings, energy harvesting nano‐ systems, nano‐sensors, and nano‐electro‐mechanical systems (NEMS).While several experiments and calculations have revealed exciting novel phenomena in these nanostructures, many scientific and technological questions remain open. In particular, understanding and controlling the structure and mechanical properties of 2D materials at the interface with a solid surface is of key importance to enable the aforementioned nanotechnologies, as well as to fulfill the potential of strain engineering to tailor their properties. The vision of this DoE research program was to investigate novel mechanical properties and phenomena in 1D and 2D materials with the overarching goal of defining a new basic understanding of mechanical behavior in nano and quantum systems. The group of the PI has developed in the last years several studies on the mechanical properties of Carbon nanotubes and oxide nanobelts, more recently the PI has focused her attention on the properties of two‐dimensional materials, such as graphene and MoS 2 , which are a few‐atomic‐layer thick films and hold a great potential for technological and energy applications. The most studied 2D material is graphene, existing as a single layer of graphite or a few‐layer thick epitaxial graphene film. Graphene possesses a large in‐plane Young’s modulus as well as high intrinsic carrier mobility, and high in‐plane thermal conductivity. Besides graphene, also 2D films of graphene oxide (GO), hexagonal Boron Nitride (h‐BN), and transition metal dichalcogenides such as MoS 2 exhibit unique and excellent properties and hold great promise for nanotechnology applications. This research program was aimed at developing a new basic understanding of the mechanical properties of 1D and 2D materials at the interface with solid substrates, with a focus on the role of defects, materials structure, and substrate interaction. Ultimately, we aimed at developing the basic knowledge and experimental tools for manipulating 1D and 2D materials’ structure, stacking, substrate interaction, defects, and number of layers to realize an entirely new class of ultra‐hard, ultra‐thin, and ultra‐light active materials with ad‐ hoc mechanical properties for a variety of applications.

2D Materials↗

Towards On-Chip Learning for Low Latency Reasoning with End-to-End Synthesis

The Software Defined Architectures (SODA) Synthesizer is an open-source compiler-based tool able to automatically generate domain-specialized systems targeting Application-Specific Integrated Circuits (ASICs) or Field Programmable Gate Arrays (FPGAs) starting from high-level programming. SODA is composed of a frontend, SODA-OPT, which leverages the multilevel intermediate representation (MLIR) framework to interface with productive programming tools (e.g., machine learning frame-works), identify kernels suitable for acceleration, and perform high-level optimizations, and of a state-of-the-art high-level synthesis backend, Bambu from the PandA framework, to generate custom accelerators. One specific application of the SODA Synthesizer is the generation of accelerators to enable ultra-low latency inference and control on autonomous systems for scientific discovery (e.g., electron microscopes, sensors in particle accelerators, etc.). This paper provides an overview of the flow in the context of the generation of accelerators for edge processing to be integrated in transmission electron microscopy (TEM) devices, focusing on use cases from precision material synthesis. We show the tool in action with an example of design space exploration for inference on reconfigurable devices with a conventional deep neural network model (LeNet). Finally, we discuss the research directions and opportunities enabled by SODA in the area of autonomous control for scientific experimental workflows.

Castellana, Vito G.↗

Towards Automated Generation of Chiplet-Based Systems

The Software Defined Architectures (SODA) Synthesizer is an open-source compiler-based tool able to automatically generate domain-specialized systems targeting Application- Specific Integrated Circuits (ASICs) or Field Programmable Gate Arrays (FPGAs) starting from high-level programming. SODA is composed of a high-level frontend, SODA-OPT, which leverages the multilevel intermediate representation (MLIR) framework to interface with productive programming tools (e.g., machine learning frameworks), identify kernels suitable for acceleration, and perform high-level optimizations, and of a state-of-the-art high-level synthesis backend, Bambu from the PandA framework, to generate custom accelerators. One specific application of the SODA Synthesizer is the generation of accelerators to enable ultra-low latency inference and control on autonomous systems for scientific discovery (e.g., electron microscopes, sensors in particle accelerators, etc.). This talk will discuss ongoing work on the SODA synthesizer to enable no-human-in-the-loop generation and design space exploration of the chiplets for highly specialized artificial intelligence accelerators. Connecting these highly specialized chiplets to general-purpose cores or programmable accelerators will allow to quickly deploy autonomous systems for scientific discovery.

Limaye, Ankur M.↗

Early experiences evaluating the HPE/Cray ecosystem for AMD GPUs

Summary The Oak Ridge Leadership Computing Facility (OLCF) has a long history of supporting and promoting GPU‐accelerated computing starting with the deployment of the Titan supercomputer in 2021 and continuing with the Summit supercomputer which has a theoretical peak performance of approximately 200 petaflops. Because the majority of Summit's computational power comes from its 27,972 GPUs, users must port their applications to one of the supported programming models in order to make efficient use of the system. To prepare the transition to Frontier, the OLCF's exascale supercomputer, users will need to adapt to an entirely new ecosystem which will include new hardware and software technologies. First, users will need to familiarize themselves with the AMD Radeon GPU architecture. Furthermore, users who have been previously relying on CUDA will need to transition to the Heterogeneous‐Computing Interface for Portability (HIP) or one of the other supported programming models (e.g., OpenMP, OpenACC). In this work, we describe our initial experiences and lessons learned in porting three applications or proxy apps currently running on Summit to the HPE/Cray ecosystem to leverage the compute power from AMD GPUs: minisweep, GenASiS, and Sparkler. Each one is representative of current production workloads utilized at the OLCF, different programming languages, and different programming models.

Melesse Vergara, Verónica G.↗

UEMtomaton: A Source-Available Platform to Aid in Start-up of Ultrafast Electron Microscopy Labs

The steady rise in the number of ultrafast electron microscopy (UEM) labs, in addition to the opacity and lack of detailed descriptions of current approaches that would enable point-by-point construction, has created an opportunity for sharing common methods and instrumentation for (for example) automating data acquisition to assist in efficient lab start-up and to learn about common and robust protocols. In the spirit of open sharing of methods, we provide here a description of an entry-level method and user interface (UI) for automating UEM experiments, and we provide access to the source code and scripts (source-available) for ease of implementation or as a starting reference point for those entering or seeking to enter the field (https://github.com/CEMSFlannigan/UEMtomaton/releases/tag/v1.0). Core instrumentation and physical connections in the UEM lab at Minnesota are described. Interface communication schemes consisting of duo server-client pairs between critical components – the optical delay stage and the UEM digital camera – are presented, with emphasis placed on describing the logic and communications sequence designed to conduct automated series acquisitions. An application designed and programmed with C++/CLI as Windows Forms in Microsoft Visual Studio – dubbed UEMtomaton – is also presented. Key to the UI layout is centralization of the automation tasks and establishment of communication within the software rather than by interfacing with each individual workstation. It is our hope that this note provides useful insight for current and future UEM researchers, particularly with respect to generalizability and portability of the approach to emerging labs. Here, we note that while this basic, entry-level approach is certainly not the most sophisticated or comprehensive of those currently in use, we feel there is nevertheless value in clearly communicating a proven straightforward method to hopefully lower the barrier to entry into the field.

47 OTHER INSTRUMENTATION↗

Flutter

The following repositories are a set of libraries that are needed for applications that are being developed for users of the Accelerator control system. The programming language used is Dart and for the user interface use the Flutter framework. URL for code repositories: - https://github.com/fermi-ad/flutter-controls-core - https://github.com/fermi-ad/flutter-controls-plotting - https://github.com/fermi-ad/flutter-controls-auth - https://github.com/fermi-ad/flutter-gql-acsys - https://github.com/fermi-ad/flutter-gql-faas - https://github.com/fermi-ad/dart-gql-acsys - https://github.com/fermi-ad/dart-explicit-imports - https://github.com/fermi-ad/dart-gql-faas - https://github.com/fermi-ad/design-system

Neswold, Rich [Fermi National Accelerator Laborato↗