Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “programming language”

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 613 records · Page 34

Automatic inspection of program state in an uncooperative environment

Abstract The program state is formed by the values that the program manipulates. These values are stored in the stack, in the heap, or in static memory. The ability to inspect the program state is useful as a debugging or as a verification aid. Yet, there exists no general technique to insert inspection points in type‐unsafe languages such as C or C++. The difficulty comes from the need to traverse the memory graph in a so‐called uncooperative environment. In this article, we propose an automatic technique to deal with this problem. We introduce a static code transformation approach that inserts in a program the instrumentation necessary to report its internal state. Our technique has been implemented in LLVM. It is possible to adjust the granularity of inspection points trading precision for performance. In this article, we demonstrate how to use inspection points to debug compiler optimizations; to augment benchmarks with verification code; and to visualize data structures.

Magalhães, José Wesley de Souza↗

Federal Workplace Charging Program Guide

This report serves as a program guide to support federal agencies in developing their own policy documents for workplace charging. It provides suggested language that agencies can incorporate into their own policies to define requirements for charging privately owned vehicles (POVs) on government-owned or leased property. The Fixing America's Surface Transportation Act authorizes the U.S. General Services Administration (GSA) and other federal agencies to install, operate, and maintain electric vehicle supply equipment (EVSE) for POVs in parking areas used by federal employees and authorized users, and it requires the collection of fees to recover the costs of installing, operating, and maintaining this equipment. This guide offers details for agency facility managers, transportation personnel, employees, and vendors regarding the charging of electric vehicles (EVs) for use by employees and personnel at government-owned and leased buildings. This guide describes the requirements associated with federal agencies providing EV charging in publicly accessible sites. The policy also describes when and how fees may be imposed to cover costs of electricity, as well as EVSE units and installations in various scenarios.

29 ENERGY PLANNING, POLICY, AND ECONOMY↗

IAEA Initiatives that Integrate Stakeholders, Models and Decision Making - 18646

The International Atomic Energy Agency (IAEA) has initiated an effort to provide stakeholder support services as part of Phase II of the Constraints to Implementing Decommissioning and Environmental Remediation (CIDER II) programs. The intent of this sub-group of CIDER II is to provide members states support in areas of stakeholder communication, engagement and participation, with the goal of building trust in decommissioning and environmental remediation (D and ER) decisions for radioactive contamination and facilities. IAEA has also initiated a follow-on effort to address Modeling and Data for Radiological Impact Assessments (MODARIA II), which is aimed at enhancing the capabilities of Member States to simulate radionuclide transfer in the environment, and to ensure appropriate levels of protection from ionizing radiation. Working Group 1 of MODARIA II is focused on the integration of modeling and decision analysis. These two groups have complementary and supporting objectives, which provides an opportunity for collaboration and mutual benefit. The technical integrator is the approach of structured decision making, which follows a five-step process that combines stakeholder values with models through a technically defensible decision analysis. Briefly, the steps are: 1. Provide the context and decision context for the problem; 2. Obtain costs, values and concerns from stakeholders, to develop objectives that need to be achieved (e.g., improve human health, minimize costs, increase jobs); 3. Identify options that might achieve the objectives (e.g., cleanup, institutional controls, education); 4. Develop probabilistic models that connect options to objectives so that the objectives can be evaluated collectively (e.g., a fate and transport and risk model to address the objective of reducing human health risk, a cost model to address costs of taking action); and, 5. Model evaluation, including sensitivity analysis, to determine if an action can be taken with sufficient certainty, or if collection of more data is needed to decrease uncertainty before a decision is made. This approach also supports adaptive management as new data are collected. This approach clarifies the roles of stakeholders and subject matter experts in the decision-making process, where stakeholders specify values, and subject matter experts focus on the models that are needed to evaluate the options. It also provides a technically defensible, reproducible, transparent and traceable approach to all of the components necessary to properly solve the types of complex decision problems that plague radioactive waste management, decommissioning and environmental remediation. This paper introduces the major challenges to implementing such a broad scale of decision analysis, and approaches to overcoming those challenges, which include not only the technical challenges, but also the need to develop capacity in a range of skills not usually accommodated in environmental modeling and includes the need for the IAEA to address decision making in different countries, and with different cultures, religions, political affiliations, and languages. This paper explores the potential for IAEA to benefit from both the CIDER II and MODARIA II programs, and hence to develop a fully integrated approach to effective decision making for radioactive waste management and environmental remediation. Note that there are many people involved in these efforts at the IAEA, and credit belongs to those people for the progress that has been made to date. Our intent here is simply to introduce these IAEA programs at the WM2018 Symposium to provide our perspective and some awareness of some of the directions in which IAEA appears to be headed regarding stakeholder engagement, environmental and risk modeling, data science, and decision analysis. (authors)

12 MANAGEMENT OF RADIOACTIVE AND NON-RADIOACTIVE W↗

Notified access in coarray-based hydrodynamics applications on many-core architectures: Design and performance

With the increasing availability of the Remote Direct Memory Access (RDMA) support in computer networks, the so called Partitioned Global Address Space (PGAS) model has evolved in the last few years. Although there are several cases where a PGAS approach can easily solve difficult message passing situations, like in particle tracking and adaptive mesh refinement applications, the producer-consumer pattern, usually adopted in task-based parallelism, can only be implemented inefficiently because of the separation between data transfer and synchronization (which is usually unified in message passing programming models). Here, in this paper, we provide two contributions: (1) we propose an extension for the Fortran language that provides the concept of Notified Access by associating regular coarray variables with event variables. (2) We demonstrate that the MPI extension proposed by foMPI for Notified Access can be used effectively to implement the same concept in a PGAS run-time library like OpenCoarrays. Moreover, for a hydrodynamics mini-application, we found that Fortran 2018 events perform always better than Fortran 2008 sync statements on many-core processors. We finally show how the proposed Notified Access can improve the performance even more.

97 MATHEMATICS AND COMPUTING↗

Activation Domain Hunter (ADhunter) v2.0

ADhunter is a software program that enables accurate identification and quantification of transcriptional activation domains. Unlike previous software, ADhunter uses protein representations from a pre-trained protein language model, model ensembling, and a training dataset from a diverse sampling of protein sequence space for state-of-the-art performance. These advantages enable improved perception of transcriptional activation domains across sequence space that can be used for mapping natural genetic circuits and engineering synthetic genetic circuits. In particular, ADhunter enables fine-tuned control of gene expression through synthetic transcription factors that can be used for complex control of cellular programs.

Waldburger, Lucas [Lawrence Berkeley National Labo↗

Massively parallel implementations of coupled-cluster methods for electron spin resonance spectra. I. Isotropic hyperfine coupling tensors in large radicals

Coupled cluster (CC) methods provide highly accurate predictions of molecular properties, but their high computational cost has precluded their routine application to large systems. Fortunately, recent computational developments in the ACES III program by the Bartlett group [the OED/ERD atomic integral package, the super instruction processor, and the super instruction architecture language] permit overcoming that limitation by providing a framework for massively parallel CC implementations. In that scheme, we are further extending those parallel CC efforts to systematically predict the three main electron spin resonance (ESR) tensors (A-, g-, and D-tensors) to be reported in a series of papers. In this paper inaugurating that series, we report our new ACES III parallel capabilities that calculate isotropic hyperfine coupling constants in 38 neutral, cationic, and anionic radicals that include the {sup 11}B, {sup 17}O, {sup 9}Be, {sup 19}F, {sup 1}H, {sup 13}C, {sup 35}Cl, {sup 33}S,{sup 14}N, {sup 31}P, and {sup 67}Zn nuclei. Present parallel calculations are conducted at the Hartree-Fock (HF), second-order many-body perturbation theory [MBPT(2)], CC singles and doubles (CCSD), and CCSD with perturbative triples [CCSD(T)] levels using Roos augmented double- and triple-zeta atomic natural orbitals basis sets. HF results consistently overestimate isotropic hyperfine coupling constants. However, inclusion of electron correlation effects in the simplest way via MBPT(2) provides significant improvements in the predictions, but not without occasional failures. In contrast, CCSD results are consistently in very good agreement with experimental results. Inclusion of perturbative triples to CCSD via CCSD(T) leads to small improvements in the predictions, which might not compensate for the extra computational effort at a non-iterative N{sup 7}-scaling in CCSD(T). The importance of these accurate computations of isotropic hyperfine coupling constants to elucidate experimental ESR spectra, to interpret spin-density distributions, and to characterize and identify radical species is illustrated with our results from large organic radicals. Those include species relevant for organic chemistry, petroleum industry, and biochemistry, such as the cyclo-hexyl, 1-adamatyl, and Zn-porphycene anion radicals, inter alia.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

JACC.shared: Leveraging HPC Metaprogramming and Performance Portability for Computations That Use Shared Memory GPUs

In this work, we present JACC.shared, a new feature of Julia for ACCelerators (JACC), which is the performanceportable and metaprogramming model of the just-in-time and LLVM-based Julia language. This new feature allows JACC applications to leverage the high-performance computing (HPC) capabilities of high-bandwidth, on-chip GPU memory. Historically, exploiting high-bandwidth, shared-memory GPUs has not been a priority for high-level programming solutions. JACC.shared covers that gap for the first time, thereby providing a highlevel, portable, and easy-to-use solution for programmers to exploit this memory and supporting all current major accelerator architectures. Well-known HPC and AI workloads, such as multi/hyperspectral imaging and AI convolutions, have been used to evaluate JACC.shared on two exascale GPU architectures hosted by some of the most powerful US Department of Energy supercomputers: Perlmutter (NVIDIA A100) and Frontier (AMD MI250X). The performance evaluation reports speedup of up to 3.5× by adding only one line of code to the base codes, thus providing important accelerators in a simple, portable, and transparent way and elevating the programming productivity and performance-portability capabilities for Julia/JACC HPC, AI, and scientific applications.

Valero Lara, Pedro [ORNL] (ORCID:0000000214794310)↗

Designing a drone delivery network with automated battery swapping machines

Drones are projected to alter last-mile delivery, but their short travel range is a concern. In this study, we propose a drone delivery network design using automated battery swapping machines (ABSMs) to extend ranges. The design minimizes the long-term delivery costs, including ABSM investment, drone ownership, and cost of the delivery time, and locates ABSMs to serve a set of customers. We build a mixed-integer nonlinear program that captures the nonlinear waiting time of drones at ABSMs. To solve the problem, we create an exact solution algorithm that finds the globally optimal solution using a derivative-supported cutting-plane method. To validate the applicability of our program, we conduct a case study on the Chicago Metropolitan area using cost data from leading ABSM manufacturer and geographical data from the planning and operations language for agent-based regional integrated simulation (more commonly known as POLARIS). A sensitivity analysis identifies that ABSM service times and costs are the key parameters impacting the long-term adoption of drone delivery.

25 ENERGY STORAGE↗

A Parallel Computing Framework for Finding the Supported Solutions to a Biobjective Network Optimization Problem

Abstract Solving multi‐objective combinatorial optimization problems can quickly become computationally challenging when applied to large networks generated from big data. Present‐day first‐rate Mixed Integer Programming (MIP) solvers have parallelism built‐in to take advantage of multicore architectures; but specialized network optimization algorithms that can often solve graph problems more efficiently than a general MIP solver are typically programmed serially. Thus, these network algorithm implementations do not take full advantage of modern multicore computer capabilities. Many parallel computing languages include a fork/join framework into their concurrency packages that allow for simple conversion of recursive serial algorithms to operate in parallel without having to use complicated low‐level message‐passing interfaces. Fork/join is particularly well suited to divide and conquer algorithms such as Non‐Inferior Set Estimation (NISE) method for computing the supported Pareto front of a multi‐objective optimization problem. This work develops a simple general parallel NISE (pNISE) implementation using the Java 7 concurrency tools, and then offers results from a specific implementation of solving a bi‐objective shortest path problem. The results indicate that this method is capable of sizeable speed‐ups on both small‐scale personal computers as well as large‐scale shared memory supercomputers. Finally, other network problems suitable to this method are discussed, including multi‐objective variants of the minimum spanning tree problem, transportation problem, assignment problem, maximum flow problem, and the minimum‐cost flow problem. Copyright © 2015 John Wiley & Sons, Ltd.

Medrano, Fernando Antonio↗

tether

Tether is a python module for benchmarking and assessing large language model (LLMs) performance at generic scientific tasks. The code generates benchmarks, uses the benchmark to prompt LLMs through automatic programming interfaces (APIs), and then logs the number of prompts an LLM correctly answers and presents the results as a completed benchmark.

Kaiser, Bryan [Los Alamos National Laboratory]↗

A MLIR Dialect for Quantum Assembly Languages

We demonstrate the utility of the Multi-Level Intermediate Representation (MLIR) for quantum computing. Specifically, we extend MLIR with a new quantum dialect that enables the expression and compilation of common quantum assembly languages. The true utility of this dialect is in its ability to be lowered to the LLVM intermediate representation (IR) in a manner that is adherent to the quantum intermediate representation (QIR) specification recently proposed by Microsoft. We leverage a qcor-enabled implementation of the QIR quantum runtime API to enable a retargetable (quantum hardware agnostic) compiler workflow mapping quantum languages to hybrid quantum-classical binary executables and object code. We evaluate and demonstrate this novel compiler workflow with quantum programs written in OpenQASM 2.0. We provide concrete examples detailing the generation of MLIR from OpenQASM source files, the lowering process from MLIR to LLVM IR, and ultimately the generation of executable binaries targeting available quantum processors.

Mccaskey, Alex↗

Integrating PGAS and MPI-based Graph Analysis

This project demonstrates that Chapel programs can interface with MPI-based libraries written in C++ without storing multiple copies of shared data. Chapel is a language for productive parallel computing using global address spaces (PGAS). We identified two approaches to interface Chapel code with the MPI-based Grafiki and Trilinos libraries. The first uses a single Chapel executable to call a C function that interacts with the C++ libraries. The second uses the mmap function to allow separate executables to read and write to the same block of memory on a node. We also encapsulated the second approach in Docker/Singularity containers to maximize ease of use. Comparisons of the two approaches using shared and distributed memory installations of Chapel show that both approaches provide similar scalability and performance.

97 MATHEMATICS AND COMPUTING↗

Development of neural network force fields for corrosion studies

To fully understand the chemistry and physics of corrosion, novel methods of simulation must be developed. One approach is designing machine learning (ML) algorithms integrated with density functional theory to develop adaptive force fields to gain insight into corrosion behavior namely at the surface of metal oxides. Current methods of modeling corrosion are slow due to the computational cost of resolving both reaction mechanics and mass transport processes. Machine learning methods can be implemented to obtain structure-activity relationships at both the molecular and bulk scale while still retaining the accuracy of density functional theory (DFT) and significantly decreasing the time needed for simulations of complex chemical processes in the various environments of corrosion. Multiscale models are needed for corrosion studies to fully understand its processes not only at the atomic length scale (chemical bonding, energies, and forces), but also at the nano and meso length scales (solid-state physics and material science processes). Current methods of study include DFT, molecular dynamics, and Monte Carlo. The limitation of DFT is that only a small number of atoms or molecules can be simulated at that level of theory. Density functional theory is used to study the electronic structure of atoms and molecules, and calculate the force component of each atom. However, these calculations are limited to about 1000 atoms. Custom periodic boundary conditions (PBC) can be used to describe the various environments and defects that affect the atomic forces to produce a large data set from which a training set can be derived. Machine learning can be utilized to overcome the barrier of modeling macroscopic and multi-scale processes from ab initio calculations through the development of adaptive force fields. Local environments determine the atomic forces of a given system, therefore adaptive force fields must be created to produce reliable quantum mechanical calculations. This can be achieved by developing a learning algorithm that uses the mapped atomic forces or fingerprint as an input to produce energies and magnetic moments as output. A systematic approach was used to begin to build a data set in order to accurately describe the atomic forces in various environments. In Figure 4 below, a simple PBC cell of Fe{sub 2}O{sub 3} was first optimized. A surface optimization was performed next, followed by a hydroxylated surface optimization. Once this calculation has converged, the adsorption of halide species to the hydroxylated surface will be investigated. TensorFlow is an open source platform for machine learning developed by Google. Using a high level application program interface (API) such as Keras allows for building and training ML models easily in a number of different environments and languages. For this project, a neural network was developed within Anaconda in Python. Future Work: Further development of reference data set; Refining neural network and learning algorithm; Fingerprinting atomic environment to enable mapping of atomic force components; Choosing appropriate training set from reference data; Learning from training set and enabling non-linear mapping of training set fingerprints and the atomic forces; Estimation of uncertainty to identify ranges of outside applicability; Testing and analysis of molecular dynamic simulations.

36 MATERIALS SCIENCE↗

YAPPA: a Compiler-Based Parallelization Framework for Irregular Applications on MPSoCs

Modern embedded systems include hundreds of cores. Because of the difficulty in providing a fast, coherent memory architecture, these systems usually rely on non-coherent, non-uniform memory architectures with private memories for each core. However, programming these systems poses significant challenges. The developer must extract large amounts of parallelism, while orchestrating communication among cores to optimize application performance. These issues become even more significant with irregular applications, which present data sets difficult to partition, unpredictable memory accesses, unbalanced control flow and fine grained communication. Hand-optimizing every single aspect is hard and time-consuming, and it often does not lead to the expected performance. There is a growing gap between such complex and highly-parallel architectures and the high level languages used to describe the specification, which were designed for simpler systems and do not consider these new issues. In this paper we introduce YAPPA (Yet Another Parallel Programming Approach), a compilation framework for the automatic parallelization of irregular applications on modern MPSoCs based on LLVM. We start by considering an efficient parallel programming approach for irregular applications on distributed memory systems. We then propose a set of transformations that can reduce the development and optimization effort. The results of our initial prototype confirm the correctness of the proposed approach.

Irregular applications↗

Language Independent Static Analysis (LISA)

Software is becoming increasingly important in nearly every aspect of global society and therefore in nearly every aspect of national security as well. While there have been major advancements in recent years in formally proving properties of program source code during development, such approaches are still in the minority among development teams, and the vast majority of code in this software explosion is produced without such properties. In these cases, the source code must be analyzed in order to establish whether the properties of interest hold. Because of the volume of software being produced, automated approaches to software analysis are necessary to meet the need. However, this software boom is not occurring in just one language. There are a wide range of languages of interest in national security spaces, including well-known languages such as C, C++, Python, Java, Javascript, and many more. But recent years have produced a wide range of new languages, including Nim, (2008), Go (2009), Rust (2010), Dart (2011), Kotlin (2011), Elixir (2011), Red (2011), Julia (2012), Typescript (2012), Swift (2014), Hack (2014), Crystal (2014), Ballerina (2017) and more. Historically, automated software analyses are implemented as tools that intermingle both the analysis question at hand with target language dependencies throughout their code, making re-use of components for different analysis questions or different target languages impractical. This project seeks to explore how mission-relevant, static software analyses can be designed and constructed in a language-independent fashion, dramatically increasing the reusability of software analysis investments.

97 MATHEMATICS AND COMPUTING↗

Data from: "Lab and Field Warming Similarly Advance Germination Date and Limit Germination Rate for High and Low Elevation Provenances of Two Widespread Subalpine Conifers"

This archive contains data used to draw conclusions in “Lab and Field Warming Similarly Advance Germination Date and Limit Germination Rate for High and Low Elevation Provenances of Two Widespread Subalpine Conifers”, by Kueppers et al. 2017. Cone collection and field experiments were conducted on Niwot Ridge, Colorado, with the latter completed within the Alpine Treeline Warming Experiment (ATWE). Laboratory germination experiments were conducted at the University of California Merced. Geospatial files are also provided for additional geographical context.There are four data file formats in this package: comma-separated values (.csv), Microsoft Excel (.xlsx), keyhole markup language (.kml), and ESRI shapefile (.shp). The latter two are geospatial file formats. .csv files can be opened using any simple text editor program such as TextEdit (Mac) and Notepad (Windows), and .xlsx files can be opened using Microsoft Excel or Google Sheets. The .kml file contains coordinate data, and is compatible with Google Earth and Google Maps. ESRI shapefiles (.shp) are compatible with any geospatial software able to read the file type, such as QGIS and ESRI’s ArcGIS Suite. This data user’s guide is available in as a .pdf, and can be opened using software such as Adobe Acrobat Reader.-----------------------------------------------------------------------------------------------------------------------------------Accurately predicting upslope shifts in subalpine tree ranges with warming requires understanding how future forest populations will be affected by climate change, as these are the seed sources for new tree line and alpine populations. Early life history stages are particularly sensitive to climate and are also influenced by genetic variation among populations. We tested the climate sensitivity of germination and initial development for two widely distributed subalpine conifers, using controlled-environment growth chambers with one temperature regime from subalpine forest in the Colorado Rocky Mountains and one 5 °C warmer, and two soil moisture levels. We tracked germination rate and timing, rate of seedling development, and seedling morphology for two seed provenances separated by ~300 m elevation. Warming advanced germination timing and initial seedling development by a total of ~2 weeks, advances comparable to mean differences between provenances. Advances were similar for both provenances and species; however, warming reduced the overall germination rate, as did low soil moisture, only for Picea engelmannii. A three-year field warming and watering experiment planted with the same species and provenances yielded responses qualitatively consistent with the lab trials. Together these experiments indicate that in a warmer, drier climate, P. engelmannii germination, and thus regeneration, could decline, which could lead to declining subalpine forest populations, while Pinus flexilis forest populations could remain robust as a seed source for upslope range shifts.

54 ENVIRONMENTAL SCIENCES↗

Clean Energy Solutions Center Services (Chinese Translation) [Fact Sheet]

This is the Chinese language translation of the Clean Energy Solutions Center (Solutions Center) fact sheet. The Solutions Center helps governments, advisors and analysts create policies and programs that advance the deployment of clean energy technologies. The Solutions Center partners with international organizations to provide online training, expert assistance, and technical resources on clean energy policy.

29 ENERGY PLANNING, POLICY, AND ECONOMY↗