Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “application programming interface”

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 1,369 records · Page 76

Performance Refactoring of Instrumentation, Measurement, and Analysis Technologies for Petascale Computing. The PRIMA Project

The growing number of cores provided by today’s high-­end computing systems present substantial challenges to application developers in their pursuit of parallel efficiency. To find the most effective optimization strategy, application developers need insight into the runtime behavior of their code. The University of Oregon (UO) and the Juelich Supercomputing Centre of Forschungszentrum Juelich (FZJ) develop the performance analysis tools TAU and Scalasca, respectively, which allow high-­performance computing (HPC) users to collect and analyze relevant performance data – even at very large scales. TAU and Scalasca are considered among the most advanced parallel performance systems available, and are used extensively across HPC centers in the U.S., Germany, and around the world. The TAU and Scalasca groups share a heritage of parallel performance tool research and partnership throughout the past fifteen years. Indeed, the close interactions of the two groups resulted in a cross-­fertilization of tool ideas and technologies that pushed TAU and Scalasca to what they are today. It also produced two performance systems with an increasing degree of functional overlap. While each tool has its specific analysis focus, the tools were implementing measurement infrastructures that were substantially similar. Because each tool provides complementary performance analysis, sharing of measurement results is valuable to provide the user with more facets to understand performance behavior. However, each measurement system was producing performance data in different formats, requiring data interoperability tools to be created. A common measurement and instrumentation system was needed to more closely integrate TAU and Scalasca and to avoid the duplication of development and maintenance effort. The PRIMA (Performance Refactoring of Instrumentation, Measurement, and Analysis) project was proposed over three years ago as a joint international effort between UO and FZJ to accomplish these objectives: (1) refactor TAU and Scalasca performance system components for core code sharing and (2) integrate TAU and Scalasca functionality through data interfaces, formats, and utilities. As presented in this report, the project has completed these goals. In addition to shared technical advances, the groups have worked to engage with users through application performance engineering and tools training. In this regard, the project benefits from the close interactions the teams have with national laboratories in the United States and Germany. We have also sought to enhance our interactions through joint tutorials and outreach. UO has become a member of the Virtual Institute of High-­Productivity Supercomputing (VI-­HPS) established by the Helmholtz Association of German Research Centres as a center of excellence, focusing on HPC tools for diagnosing programming errors and optimizing performance. UO and FZJ have conducted several VI-­HPS training activities together within the past three years.

97 MATHEMATICS AND COMPUTING↗

Structural optimization - Challenges and opportunities

A review of developments in structural optimization techniques and their interface with growing computer capabilities is presented. Structural design steps comprise functional definition of an object, an evaluation phase wherein external influences are quantified, selection of the design concept, material, object geometry, and the internal layout, and quantification of the physical characteristics. Optimization of a fully stressed design is facilitated by use of nonlinear mathematical programming which permits automated definition of the physics of a problem. Design iterations terminate when convergence is acquired between mathematical and physical criteria. A constrained minimum algorithm has been formulated using an Augmented Lagrangian approach and a generalized reduced gradient to obtain fast convergence. Various approximation techniques are mentioned. The synergistic application of all the methods surveyed requires multidisciplinary teamwork during a design effort.

Sobieszczanski-Sobieski, J.↗

Structural optimization: Challenges and opportunities

A review of developments in structural optimization techniques and their interface with growing computer capabilities is presented. Structural design steps comprise functional definition of an object, an evaluation phase wherein external influences are quantified, selection of the design concept, material, object geometry, and the internal layout, and quantification of the physical characteristics. Optimization of a fully stressed design is facilitated by use of nonlinear mathematical programming which permits automated definition of the physics of a problem. Design iterations terminate when convergence is acquired between mathematical and physical criteria. A constrained minimum algorithm has been formulated using an Augmented Lagrangian approach and a generalized reduced gradient to obtain fast convergence. Various approximation techniques are mentioned. The synergistic application of all the methods surveyed requires multidisciplinary teamwork during a design effort.

Sobieszczanski-Sobieski, J.↗

CEA2022: A Modernization of NASA Glenn’s Software CEA (Chemical Equilibrium with Applications)

The software program “Chemical Equilibrium with Applications” (CEA) is used to solve chemical equilibrium, and compute thermodynamic and transport properties of the resulting mixture, and also has special solvers dedicated to rocket, shock, and detonation problems. We have recently completed a full re-write of CEA with modernization and improvements, called “CEA2022”. In this paper, we will give an overview of CEA2022’s features, and discuss some of the fundamental equations used by CEA2022, as well as the fundamental assumptions, in order to provide users with a complete understanding of the software’s methodology. Several enhancements have been made to the software, including modern software development practices, interface improvements, and additional features. The feature enhancements include: running cases in parallel with thread safe solves, thermodynamic and transport database updates, and allowing for negative and inert reactants. In terms of interface improvements, we have made CEA a reusable library by adding APIs for multiple languages, including Python, Matlab, Excel, Fortran, and C. The subroutine interface allows for integration with other applications, including flow-solver integration (i.e. with CFD). We also compare results between CEA2022 and the previous version (CEA2) as a validation of the new software.

chemical equilibrium↗

Integrating human factors issues into critical portable detection usage - 121

There are multiple situations where portable detection systems are used to quantify distributed radionuclides. Such applications include holdup measurements in decommissioning activities, other routine usage and safeguards applications. Human factors dominate equipment deployment and operation and have significant impact upon the resulting data collection and its quality. Equipment use includes simultaneous positioning and targeting the object/region being quantified, observation and reporting of incoming data, often in difficult conditions and often while dressed in protective equipment. We examine the human interface with the equipment and other human factors where balance, perception, situational awareness and personnel health level influence the physical control and positioning of the detector. All these aspects impact both the measurement outcome and the Total Measurement Uncertainty (TMU). In this work, we are developing approaches and solutions to: 1. Initiate an inclusive program to assess and evolve human factors aspects of the interface to provide real time feedback tailored to a specific field operator profile. 2. Develop a measurement system human interface on a 'bench top' detection system to allow for both audio and visual I/O for auditory attention and situational (objective and subjective) awareness across varied end user characteristics. 3. Assess and develop an enhanced health assessment plan to identify and monitor pertinent auditory and balance characteristics for operator(s) interface and physical control of the gamma detector. Use the plan to verify personnel ability for effective deployment. We take a multidisciplinary approach to maximize accuracy, efficiency, and safety for the end-user to optimize project and measurement performance. (authors)

46 INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND ↗

Phase-Field Modeling of Materials Interfaces and Nanostructures

Nanostructured materials offer unique properties for a wide range of energy applications. Among various known processing methods, liquid metal dealloying (LMD)—the selective dissolution of a base alloy element into a metallic melt—has emerged as a powerful technique to produce a new class of nano-/meso-scale open porous and bicontinuous composite structures with ultra-high interfacial area. LMD has recently been complemented by the advent of vapor phase dealloying (VPD), a novel technique that exploits the selective evaporation of one element from a parent alloy containing elements with very different vapor pressures, thereby enabling to fabricate open nanoporous structures of various elements from less-noble metals to inorganic elements regardless of their chemical activity without requiring high LMD temperatures and chemical etching. Together LMD and VPD have greatly expanded the scope of dealloying techniques, limited by traditional electrochemical means to noble metals, and boosted the design of new functional and structural materials that combine a wide variety of elements. Topologically-connected open porous structures with ultra-high surface area allow mass transport within the structure while preserving structural integrity, enabling them to serve as catalysts, fuel cells, supercapacitors, or high-capacity battery materials. Bicontinuous composite structures in turn can display high strength and high ductility or superior radiation-damage resistance due to the ultra-high interface area between interpenetrating solid phases. This research program makes use of state-of-the-art computational methods to understand at a basic level the self-organizing dealloying process with main focus on dealloying kinetics and interfacial pattern formation at the dealloying front controlling initial structure size, topology, and phase compositions. Phase-field simulation studies of LMD focus on solid solutions, line compounds, and intermetallic systems that can form ternary composites by nucleation and growth of a new phase. Studies of VPD employ phase-field modeling and a hybrid method combining a kinetic Monte Carlo (KMC) model of evaporation and surface diffusion with molecular dynamics for vapor-phase transport inside nanopores. Simulations explore mechanisms of interface- and diffusion-controlled dealloying kinetics, both observed in VPD but not fundamentally understood. In addition, our newly developed multi-physics phase-field approach of large-volume-change phase transformations is being used to model novel 3D anode geometries based on dealloyed nanoporous structures including novel sandwiched graphene/Si/silica for highrate Li ion battery. Those studies are aimed at elucidating geometric design principles that improve mechanical stability. We expect this research to enhance the capability to tailor nano-/mesoscale structures for a wide range of energy-related materials applications and to yield further advances in computational methodologies that benefit a broad materials research community.

77 NANOSCIENCE AND NANOTECHNOLOGY↗

Customizable de novo design strategies for DOCK: Application to HIVgp41 and other therapeutic targets

De novo design can be used to explore vast areas of chemical space in computational lead discovery. As a complement to virtual screening, from‐scratch construction of molecules is not limited to compounds in pre‐existing vendor catalogs. Here, we present an iterative fragment growth method, integrated into the program DOCK, in which new molecules are built using rules for allowable connections based on known molecules. The method leverages DOCK's advanced scoring and pruning approaches and users can define very specific criteria in terms of properties or features to customize growth toward a particular region of chemical space. The code was validated using three increasingly difficult classes of calculations: (1) Rebuilding known X‐ray ligands taken from 663 complexes using only their component parts (focused libraries), (2) construction of new ligands in 57 drug target sites using a library derived from ∼13M drug‐like compounds (generic libraries), and (3) application to a challenging protein‐protein interface on the viral drug target HIVgp41. The computational testing confirms that the de novo DOCK routines are robust and working as envisioned, and the compelling results highlight the potential utility for designing new molecules against a wide variety of important protein targets. © 2017 Wiley Periodicals, Inc.

Allen, William J.↗

AnalyzeThat: A Programmable Shared-Memory System for an Array of Processing-In-Memory Devices

Processing In Memory (PIM), the concept of integrating processing directly with memory, has been attracting a lot of attention since PIM can assist in overcoming the throughput limitation caused by data movement between CPU and memory. The challenge, however, is that it requires the programmers to have a deep understanding of the PIM architecture to maximize the benefits such as data locality and parallel thread execution on multiple PIM devices. In this study, we present AnalyzeThat, a programmable shared-memory system for parallel data processing with PIM devices. Thematic to AnalyzeThat is a rich PIM-Aware Data Structure (PADS), which is an encapsulation that integrally ties together the data, the analysis tasks and the runtime needed to interface with the PIM device array. The PADS abstraction provides (i) a key-value data container that allows programmers to easily store data on multiple PIMs, (ii) a suite of parallel operations with which users can easily implement data analysis applications, and (iii) a runtime, hidden to programmers, which provides the mechanisms needed to overlay both the data and the tasks on the PIM device array in an intelligent fashion, based on PIM-specific information collected from the hardware. We have developed a PIM emulation framework called AnalyzeThat. Our experimental evaluation with representative data analytics applications suggests that the proposed system can significantly reduce the PIM programming effort without losing its technology benefits.

97 MATHEMATICS AND COMPUTING↗

UPC++ v1.0 Specification, Revision 2020.10.0

UPC++ is a C++11 library providing classes and functions that support Partitioned Global Address Space (PGAS) programming. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). All communication operations are syntactically explicit and default to non-blocking; asynchrony is managed through the use of futures, promises and continuation callbacks, enabling the programmer to construct a graph of operations to execute asynchronously as high-latency dependencies are satisfied. A global pointer abstraction provides system-wide addressability of shared memory, including host and accelerator memories. The parallelism model is primarily process-based, but the interface is thread-safe and designed to allow efficient and expressive use in multi-threaded applications. The interface is designed for extreme scalability throughout, and deliberately avoids design features that could inhibit scalability.

97 MATHEMATICS AND COMPUTING↗

UPC++ v1.0 Specification, Revision 2021.9.0

UPC++ is a C++ library providing classes and functions that support Partitioned Global Address Space (PGAS) programming. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). All communication operations are syntactically explicit and default to non-blocking; asynchrony is managed through the use of futures, promises and continuation callbacks, enabling the programmer to construct a graph of operations to execute asynchronously as high-latency dependencies are satisfied. A global pointer abstraction provides system-wide addressability of shared memory, including host and accelerator memories. The parallelism model is primarily process-based, but the interface is thread-safe and designed to allow efficient and expressive use in multi-threaded applications. The interface is designed for extreme scalability throughout, and deliberately avoids design features that could inhibit scalability.

96 KNOWLEDGE MANAGEMENT AND PRESERVATION↗

UPC++ v1.0 Specification (Rev. 2023.9.0)

UPC++ is a C++ library providing classes and functions that support Partitioned Global Address Space (PGAS) programming. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). All communication operations are syntactically explicit and default to non-blocking; asynchrony is managed through the use of futures, promises and continuation callbacks, enabling the programmer to construct a graph of operations to execute asynchronously as high-latency dependencies are satisfied. A global pointer abstraction provides system-wide addressability of shared memory, including host and accelerator memories. The parallelism model is primarily process-based, but the interface is thread-safe and designed to allow efficient and expressive use in multi-threaded applications. The interface is designed for extreme scalability throughout, and deliberately avoids design features that could inhibit scalability.

97 MATHEMATICS AND COMPUTING↗

UPC++ v1.0 Specification (Revision 2022.3.0)

UPC++ is a C++ library providing classes and functions that support Partitioned Global Address Space (PGAS) programming. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). All communication operations are syntactically explicit and default to non-blocking; asynchrony is managed through the use of futures, promises and continuation callbacks, enabling the programmer to construct a graph of operations to execute asynchronously as high-latency dependencies are satisfied. A global pointer abstraction provides system-wide addressability of shared memory, including host and accelerator memories. The parallelism model is primarily process-based, but the interface is thread-safe and designed to allow efficient and expressive use in multi-threaded applications. The interface is designed for extreme scalability throughout, and deliberately avoids design features that could inhibit scalability.

97 MATHEMATICS AND COMPUTING↗

UPC++ v1.0 Specification, Revision 2023.3.0

UPC++ is a C++ library providing classes and functions that support Partitioned Global Address Space (PGAS) programming. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). All communication operations are syntactically explicit and default to non-blocking; asynchrony is managed through the use of futures, promises and continuation callbacks, enabling the programmer to construct a graph of operations to execute asynchronously as high-latency dependencies are satisfied. A global pointer abstraction provides system-wide addressability of shared memory, including host and accelerator memories. The parallelism model is primarily process-based, but the interface is thread-safe and designed to allow efficient and expressive use in multi-threaded applications. The interface is designed for extreme scalability throughout, and deliberately avoids design features that could inhibit scalability.

97 MATHEMATICS AND COMPUTING↗

UPC++ v1.0 Specification (Revision 2021.3.0)

UPC++ is a C++11 library providing classes and functions that support Partitioned Global Address Space (PGAS) programming. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). All communication operations are syntactically explicit and default to non-blocking; asynchrony is managed through the use of futures, promises and continuation callbacks, enabling the programmer to construct a graph of operations to execute asynchronously as high-latency dependencies are satisfied. A global pointer abstraction provides system-wide addressability of shared memory, including host and accelerator memories. The parallelism model is primarily process-based, but the interface is thread-safe and designed to allow efficient and expressive use in multi-threaded applications. The interface is designed for extreme scalability throughout, and deliberately avoids design features that could inhibit scalability.

97 MATHEMATICS AND COMPUTING↗

UPC++ v1.0 Specification, Revision 2022.9.0

UPC++ is a C++ library providing classes and functions that support Partitioned Global Address Space (PGAS) programming. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). All communication operations are syntactically explicit and default to non-blocking; asynchrony is managed through the use of futures, promises and continuation callbacks, enabling the programmer to construct a graph of operations to execute asynchronously as high-latency dependencies are satisfied. A global pointer abstraction provides system-wide addressability of shared memory, including host and accelerator memories. The parallelism model is primarily process-based, but the interface is thread-safe and designed to allow efficient and expressive use in multi-threaded applications. The interface is designed for extreme scalability throughout, and deliberately avoids design features that could inhibit scalability.

97 MATHEMATICS AND COMPUTING↗

UPC++ v1.0 Specification, Revision 2020.3.0

UPC++ is a C++11 library providing classes and functions that support Partitioned Global Address Space (PGAS) programming. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). All communication operations are syntactically explicit and default to non-blocking; asynchrony is managed through the use of futures, promises and continuation callbacks, enabling the programmer to construct a graph of operations to execute asynchronously as high-latency dependencies are satisfied. A global pointer abstraction provides system-wide addressability of shared memory, including host and accelerator memories. The parallelism model is primarily process-based, but the interface is thread-safe and designed to allow efficient and expressive use in multi-threaded applications. The interface is designed for extreme scalability throughout, and deliberately avoids design features that could inhibit scalability.

97 MATHEMATICS AND COMPUTING↗

Current and future engine applications of Gr/PI composites

The application of organic matrix composites to gas turbine engine components has been the subject of numerous government and company funded programs since the 1960's. The possibility of significant weight reductions, performance improvements and lower component costs have made the organic matrix composites extremely attractive to aircraft engine designers. Very little of this potential was incorporated into production engines over the years even though a significant number of components were designed, fabricated and tested. Some of the reasons behind the slow rate of incorporation include the following: (1) criticality; (2) engine operating temperature; (3) small component size; (4) small production volume; (5) high production cost; and (6) interfacing with metal parts.

Cavano, P. J.↗

EReinit: Scalable and efficient fault-tolerance for bulk-synchronous MPI applications

Scientists from many different fields have been developing Bulk-Synchronous MPI applications to simulate and study a wide variety of scientific phenomena. Since failure rates are expected to increase in larger-scale future HPC systems, providing efficient fault-tolerance mechanisms for this class of applications is paramount. The global-restart model has been proposed to decrease the time of failure recovery in Bulk-Synchronous applications by allowing a fast reinitialization of MPI. However, the current implementations of this model have several drawbacks: they lack efficiency; their scalability have not been shown; and they require the use of the MPI profiling interface, which precludes the use of tools. Here, we present EReinit, an implementation of the global-restart model that addresses these problems. Our key idea and optimization is the co-design of basic fault-tolerance mechanisms such as failure detection, notification, and recovery between MPI and the resource manager in contrast to current approaches on which these mechanisms are implemented in MPI only. We demonstrate EReinit in three HPC programs and show that it is up to four times more efficient than existing solutions at 4,096 processes.

97 MATHEMATICS AND COMPUTING↗