Search NASA⌕ Search

SEARCH · Search NASA

Results for “Multiple program”

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 55 records · Page 3

UPC++ v1.0 Programmer’s Guide (Rev. 2023.9.0)

UPC++ is a C++ library that supports Partitioned Global Address Space (PGAS) programming. It is designed for writing efficient, scalable parallel programs on distributed-memory parallel computers. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). The UPC++ control model is single program, multiple-data (SPMD), with each separate constituent process having access to local memory as it would in C++. The PGAS memory model additionally provides one-sided RMA communication to a global address space, which is allocated in shared segments that are distributed over the processes. UPC++ also features Remote Procedure Call (RPC) communication, making it easy to move computation to operate on data that resides on remote processes. UPC++ was designed to support exascale high-performance computing, and the library interfaces and implementation are focused on maximizing scalability. In UPC++, all communication operations are syntactically explicit, which encourages programmers to consider the costs associated with communication and data movement. Moreover, all communication operations are asynchronous by default, encouraging programmers to seek opportunities for overlapping communication latencies with other useful work. UPC++ provides expressive and composable abstractions designed for efficiently managing aggressive use of asynchrony in programs. Together, these design principles are intended to enable programmers to write applications using UPC++ that perform well even on hundreds of thousands of cores.

97 MATHEMATICS AND COMPUTING↗

UPC++ v1.0 Programmer’s Guide (Revision 2022.3.0)

UPC++ is a C++ library that supports Partitioned Global Address Space (PGAS) programming. It is designed for writing efficient, scalable parallel programs on distributed-memory parallel computers. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). The UPC++ control model is single program, multiple-data (SPMD), with each separate constituent process having access to local memory as it would in C++. The PGAS memory model additionally provides one-sided RMA communication to a global address space, which is allocated in shared segments that are distributed over the processes. UPC++ also features Remote Procedure Call (RPC) communication, making it easy to move computation to operate on data that resides on remote processes. UPC++ was designed to support exascale high-performance computing, and the library interfaces and implementation are focused on maximizing scalability. In UPC++, all communication operations are syntactically explicit, which encourages programmers to consider the costs associated with communication and data movement. Moreover, all communication operations are asynchronous by default, encouraging programmers to seek opportunities for overlapping communication latencies with other useful work. UPC++ provides expressive and composable abstractions designed for efficiently managing aggressive use of asynchrony in programs. Together, these design principles are intended to enable programmers to write applications using UPC++ that perform well even on hundreds of thousands of cores.

97 MATHEMATICS AND COMPUTING↗

UPC++ v1.0 Programmer’s Guide, Revision 2023.3.0

UPC++ is a C++ library that supports Partitioned Global Address Space (PGAS) programming. It is designed for writing efficient, scalable parallel programs on distributed-memory parallel computers. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). The UPC++ control model is single program, multiple-data (SPMD), with each separate constituent process having access to local memory as it would in C++. The PGAS memory model additionally provides one-sided RMA communication to a global address space, which is allocated in shared segments that are distributed over the processes. UPC++ also features Remote Procedure Call (RPC) communication, making it easy to move computation to operate on data that resides on remote processes. UPC++ was designed to support exascale high-performance computing, and the library interfaces and implementation are focused on maximizing scalability. In UPC++, all communication operations are syntactically explicit, which encourages programmers to consider the costs associated with communication and data movement. Moreover, all communication operations are asynchronous by default, encouraging programmers to seek opportunities for overlapping communication latencies with other useful work. UPC++ provides expressive and composable abstractions designed for efficiently managing aggressive use of asynchrony in programs. Together, these design principles are intended to enable programmers to write applications using UPC++ that perform well even on hundreds of thousands of cores.

97 MATHEMATICS AND COMPUTING↗

UPC++ v1.0 Programmer’s Guide, Revision 2022.9.0

UPC++ is a C++ library that supports Partitioned Global Address Space (PGAS) programming. It is designed for writing efficient, scalable parallel programs on distributed-memory parallel computers. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). The UPC++ control model is single program, multiple-data (SPMD), with each separate constituent process having access to local memory as it would in C++. The PGAS memory model additionally provides one-sided RMA communication to a global address space, which is allocated in shared segments that are distributed over the processes. UPC++ also features Remote Procedure Call (RPC) communication, making it easy to move computation to operate on data that resides on remote processes. UPC++ was designed to support exascale high-performance computing, and the library interfaces and implementation are focused on maximizing scalability. In UPC++, all communication operations are syntactically explicit, which encourages programmers to consider the costs associated with communication and data movement. Moreover, all communication operations are asynchronous by default, encouraging programmers to seek opportunities for overlapping communication latencies with other useful work. UPC++ provides expressive and composable abstractions designed for efficiently managing aggressive use of asynchrony in programs. Together, these design principles are intended to enable programmers to write applications using UPC++ that perform well even on hundreds of thousands of cores.

97 MATHEMATICS AND COMPUTING↗

Conformable, Composite Tank for Liquid Hydrogen Storage in Heavy-duty Ground Transportation

Raytheon Technologies Research Center (RTRC), with its partners, Argonne National Labs and University of Dayton Research Institute proposed to design and manufacture a conformable composite tank prototype to store liquid Hydrogen (LH2) for heavy-duty truck applications. A dual-wall tank concept was proposed where an outer shell covers and protects an inner pressure vessel that stores liquid hydrogen. The inner pressure vessel is liner-less and designed with a conformable concept, derived from prior RTRC ARPA-E program where multiple vessels are coalesced into one, maximizing space utilization and reducing surface area for heat leak. The gap between the dual wall is evacuated of air pressure, and filled with multi-layer insulation to minimize radiative heat transfer. Fiber reinforced composites were proposed for light-weighting and conformable shape manufacture. To minimize LH2 leakage, carbon nanotubes-infused composites were proposed, in addition to use of thin plies. The project was divided into two 18-month budget periods (BP), BP1 and BP2, separated by a Go/No-Go gate review. The high-level goal for BP1 was to demonstrate the feasibility of the overall approach, the tank design, material selection, and manufacturing methodology, build and test a prototype tank; and the goal for BP2 was to design and manufacture a conformal tank per DOE requirements (minimum 20 kg of LH2) and perform a successful test of the tank. The program was terminated about two-thirds of the way through BP1. The outcome of this program would have permitted long-haul trucks and construction vehicles to use liquid Hydrogen, reducing the emission of green-house gases. This technology is applicable to other transportation sectors as well.

08 HYDROGEN↗

DXRD : a user-friendly suite of two- and multiple-beam dynamical X-ray diffraction programs

The DXRD program suite consisting of a series of dynamical theory programs is introduced for computing dynamical X-ray diffraction from single crystals. Its interactive graphical user interfaces (GUIs) allow general users to make complicated calculations with minimal effort. It can calculate plane-wave Darwin curves of single crystals (or multiple crystals) for both the Bragg and Laue cases, including grazing-incidence diffraction and backward diffraction (with Bragg angles approaching 90°). It is also capable of simulating rocking curves for divergent incident X-ray beams with finite bandwidths. A unique feature of DXRD is that it provides a convenient GUI-based multiple-beam diffraction program that can accurately compute arbitrary N-beam diffraction of any geometry using a universal 4N × 4N matrix method. DXRD also provides a mapping program for plotting all the multiple-beam diffraction lines (monochromator glitches) in the azimuth–energy coordinate system. All these functions make DXRD a convenient and powerful software tool for designing crystal-based synchrotron/X-ray optics (monochromators, analyzers, polarizers, phase plates etc.) and for crystal characterization, X-ray spectroscopy and X-ray diffraction teaching.

Bragg reflection↗

A single genomic region controls primocane fruiting in tetraploid blackberry

The fresh-market blackberry ( Rubus subgenus Rubus ) industry has expanded dramatically in the past 2 decades, driven in part by improved cultivars. Introgression of the primocane-fruiting (PF; annual flowering) trait into elite germplasm has enabled dual cropping in a single year, season extension, and cultivation in tropical and subtropical regions. Despite its economic performance, the genetic basis of PF is not well understood. It has been proposed that the PF trait is controlled by a major recessive locus, but its genomic location is unclear. Here, a genome-wide association study (GWAS) of 365 tetraploid blackberry genotypes identified a single genomic region on chromosome Ra03 (∼33 Mb) strongly associated with PF. Genetic linkage analysis in a biparental population confirmed that the same interval (32–35 Mb) was linked to the PF phenotype. Ten putative candidate genes were identified in this region. Allele mining using whole-genome resequencing of 17 genotypes highlighted 2 high-priority candidates: a CCCH-type zinc finger gene and an ubiquitin-specific protease gene. Use of an improved Rubus argutus “Hillquist” genome annotation (v1.2) enabled refined variant interpretation, including identification of regulatory 3′ UTR polymorphisms in the zinc finger homolog. Two diagnostic KASP markers (PF1 and PF2), designed from the most significant GWAS SNPs, predicted the PF phenotype with over 96% accuracy in a validation panel of 494 tetraploid blackberries from multiple breeding programs. Together, these results provide the first high-resolution mapping of the PF locus in blackberry, identify candidate genes for flowering regulation in Rubus , and deliver diagnostic markers that can be immediately deployed in breeding programs.

GWAS↗

Application Experiences on a GPU-Accelerated Arm-based HPC Testbed

This paper assesses and reports the experience of ten teams working to port, validate, and benchmark several High Performance Computing applications on a novel GPU-accelerated Arm testbed system. The testbed consists of eight NVIDIA Arm HPC Developer Kit systems, each one equipped with a server-class Arm CPU from Ampere Computing and two data center GPUs from NVIDIA Corp. The systems are connected together using InfiniBand interconnect. The selected applications and mini-apps are written using several programming languages and use multiple accelerator-based programming models for GPUs such as CUDA, OpenACC, and OpenMP offloading. Working on application porting requires a robust and easy-to-access programming environment, including a variety of compilers and optimized scientific libraries. The goal of this work is to evaluate platform readiness and assess the effort required from developers to deploy well-established scientific workloads on current and future generation Arm-based GPU-accelerated HPC systems. The reported case studies demonstrate that the current level of maturity and diversity of software and tools is already adequate for large-scale production deployments.

Elwasif, Wael↗

Strain-concentration for fast, compact photonic modulation and non-volatile memory

A critical figure of merit (FoM) for electro-optic (EO) modulators is the transmission change per voltage, d T / d V . Conventional approaches in wave-guided modulators maximize d T / d V via a high EO coefficient or longer light-material interaction lengths but are ultimately limited by material losses and nonlinearities. Optical and RF resonances improve d T / d V at the cost of spectral non-uniformity, especially for high- Q optical cavity resonances. Here, we introduce an EO modulator based on piezo-strain-concentration of a photonic crystal cavity to address both trade-offs: (i) it eliminates the trade-off between d T / d V and waveguide loss—i.e., enhancement of the resonance tuning efficiency d v c / d V for the fixed EO coefficient, waveguide length, and cavity Q —and (ii) at high DC strains it exhibits a non-volatile (NV) cavity tuning Δ v c ,NV for passive memory and programming of multiple devices into resonance despite fabrication variations. The device is fabricated on a scalable silicon nitride-on-aluminum nitride platform. We measure d v c / d V =177±1MHz/V, corresponding to Δ v c =40±0.32GHz for a voltage spanning ±120V with an energy consumption of δ U /Δ v c =0.17nW/GHz. The modulation bandwidth is flat up to ω BW,3dB /2 π =3.2±0.07MHz for broadband DC-AC and 142±17MHz for resonant operation near a 2.8 GHz mechanical resonance. Optical extinction up to 25 dB is obtained via Fano-type interference. Strain-induced beam-buckling modes are programmable under a “read-write” protocol with a continuous, repeatable tuning range of 5±0.25GHz, allowing for storage and retrieval, which we quantify with mutual information of 2.4 bits and a maximum non-volatile excursion of 8 GHz. Using a full piezo-optical finite-element-model (FEM) we identify key design principles for optimizing strain-based modulators and chart a path towards achieving performance comparable to lithium niobate-based modulators and the study of high strain physics on-chip.

Wen, Y. Henry (ORCID:0009000685423628)↗

CO2 Enhanced Oil Recovery Evaluation System (CO2_E_EvSystem), Version 2025

The United States Department of Energy’s (DOE’s) Office of Fossil Energy and the National Energy Technology Laboratory (NETL) developed a suite of screening-level, techno-economic models/tools, known as the CO2_E_EvSystem, to evaluate technical aspects and costs of using carbon dioxide (CO2) enhanced oil recovery (EOR) to store CO2 and produce oil. CO2_E_EvSystem has three software components and several input and output files. The software components are CO2_E_EvTool, CO2_Prophet, and CO2_E_COM. Almost all computational work is performed by CO2_Prophet and CO2_E_COM, which are both Fortran programs. The primary role of CO2_E_EvTool is to manage input and output files for the two programs, run the two programs, allow multiple oilfields to be evaluated in a single run, and generate files that summarize the results for all the oilfields run. This version of the CO2_E_EvSystem includes a residual oil zone dataset from the San Andres formation, Permian Basin, to demonstrate the system and guide users on attributes needed for dataset inputs.

AS↗

UPC++ v1.0 Programmer’s Guide, Revision 2020.10.0

UPC++ is a C++11 library that provides Partitioned Global Address Space (PGAS) programming. It is designed for writing parallel programs that run efficiently and scale well on distributed-memory parallel computers. The PGAS model is single program, multiple-data (SPMD), with each separate constituent process having access to local memory as it would in C++. However, PGAS also provides access to a global address space, which is allocated in shared segments that are distributed over the processes. UPC++ provides numerous methods for accessing and using global memory. In UPC++, all operations that access remote memory are explicit, which encourages programmers to be aware of the cost of communication and data movement. Moreover, all remote-memory access operations are by default asynchronous, to enable programmers to write code that scales well even on hundreds of thousands of cores.

97 MATHEMATICS AND COMPUTING↗

UPC++ v1.0 Programmer’s Guide, Revision 2021.9.0

UPC++ is a C++ library that provides Partitioned Global Address Space (PGAS) programming. It is designed for writing parallel programs that run efficiently and scale well on distributed-memory parallel computers. The PGAS model is single program, multiple-data (SPMD), with each separate constituent process having access to local memory as it would in C++. PGAS additionally provides one-sided Remote Memory Access (RMA) to a global address space, which is allocated in shared segments that are distributed over the processes. UPC++ also features Remote Procedure Call (RPC) communication, making it easy to move computation to operate on data that resides on remote processes. In UPC++, all communication operations are explicit, which encourages programmers to be aware of the cost of communication and data movement. Moreover, all communication operations are asynchronous by default, to enable programmers to write code that scales well even on hundreds of thousands of cores.

96 KNOWLEDGE MANAGEMENT AND PRESERVATION↗

Characterization of carbonaceous aerosols during TRACER-CAT

Absorbing aerosols (AA) have an important impact on the global radiation budget and cloud properties. The composition and properties of AA can vary substantially throughout the atmosphere, depending on the particle source and the influence of chemical aging. Uncertainties associated with the radiative effects of AA remain substantial. A key contributor to this uncertainty is understanding the extent to which coatings in general, and water uptake especially, alters absorption by AA particles and how this depends on particle composition. We deployed new and existing experimental tools during the Tracking Aerosol Convection Interactions Experiment (TRACER) campaign in Houston, TX as part of the Carbonaceous Aerosols Thrust (CAT) to provide detailed characterization of aerosol optical, chemical, and physical properties. Our TRACER-CAT measurements complemented and expanded on the planned TRACER instrumentation, allowing for more detailed characterization of aerosol properties of relevance to cloud development (a core focus of TRACER), such as the composition of particles that can act as cloud condensation nuclei, than would otherwise be available. Our measurements have allowed for assessment of the relationship(s) between AA optical properties (with a focus on absorption) and the chemical and physical characteristics (including the mixing state of black carbon (BC) containing particles). These field observations occurred in collaboration with Los Alamos National Laboratory in summer 2022 during the TRACER intensive operating period. The instrumentation we co-deployed provided for measurement of (i) multi-wavelength dry aerosol absorption, scattering, and extinction, (ii) the size-dependent composition and abundance of sub-micron aerosol, differentiating between those particles that do and do not contain BC, (iii) BC-specific concentrations and size distributions, (iv) particle size, and (v) the first field measurements at an ARM site of the influence of RH on multi-wavelength absorption by ambient AA. We have leveraged the natural variability of the atmosphere and of aerosol sources in the Houston region to (i) specifically disentangle contributions to light absorption from BC, absorbing organic carbon (brown carbon), and coatings on BC, (ii) characterize the mixing state of BC and assess the factors that give rise to compositional differences between BC-containing and BC-free aerosol, and (iii) establish how water uptake influences absorption and how any such effect depends on particle composition and BC mixing state. Overall, our study contributed to the mission of the Atmospheric System Research program in multiple ways. Through the deployment of complementary, advanced instrumentation for characterization of a wide range of aerosol properties our work helped to maximize the scientific impact of the TRACER campaign. Our work also allowed for development of new insights into the relationship(s) between aerosol composition, hygroscopicity, and the mixing state of BC with aerosol optical properties. Through this, our work has provided knowledge that can improve understanding and model representation of aerosol processes as they affect the Earth’s radiation budget.

54 ENVIRONMENTAL SCIENCES↗

UPC++ v1.0 Programmer’s Guide, Revision 2020.3.0

UPC++ is a C++11 library that provides Partitioned Global Address Space (PGAS) programming. It is designed for writing parallel programs that run efficiently and scale well on distributed-memory parallel computers. The PGAS model is single program, multiple-data (SPMD), with each separate constituent process having access to local memory as it would in C++. However, PGAS also provides access to a global address space, which is allocated in shared segments that are distributed over the processes. UPC++ provides numerous methods for accessing and using global memory. In UPC++, all operations that access remote memory are explicit, which encourages programmers to be aware of the cost of communication and data movement. Moreover, all remote-memory access operations are by default asynchronous, to enable programmers to write code that scales well even on hundreds of thousands of cores.

97 MATHEMATICS AND COMPUTING↗

IOTA Pre-Bake Test Development

The IOTA (Integrable Optics Test Accelerator) Bakeout project is intended to improve the quality of the vacuum within the IOTA ring. Impurities consisting of hydrogen and oxygen that build within the beampipe are reduced through applying heat to the beampipe’s exterior. Two versions of the Bakeout project exist, one as a smaller scale test setup, and one five times larger located within the IOTA ring. During my internship, I worked together with a team to bring this project from an effectively dormant state to ready for testing, working together to create full documentation of the PLC (Programmable Logic Controller) programs, making multiple new hardware configurations of this test possible, as well as an additional safety system.

Seagrave, Kayla [DuPage Coll.; Fermilab]↗

CHARM-SYCL & IRIS: A Tool Chain for Performance Portability on Extremely Heterogeneous Systems

Performance portability is becoming crucial as high-performance computing systems become increasingly heterogeneous. We have many options for CPUs and accelerators (e.g., GPUs) but also for non-Von Neumann architectures such as field-programmable gate arrays. This paper presents the CHARM-SYCL unified programming environment for multiple accelerator types as a performance-portable programming environment. It uses the IRIS library developed at Oak Ridge National Laboratory as the back end accelerator runtime. IRIS has a high-performance scheduler to distribute tasks across accelerators. This design allows us to run an application from the same source on multiple systems with multiple configurations. We provide three types of portability with CHARM-SYCL: Portable Workflow, Compiler and Runtime Portability, and Application and Performance Portability. We implement a Monte Carlo simulation benchmark code on the CHARM-SYCL execution environment and demonstrate that our programming environment can accommodate extremely heterogeneous systems.

Fujita, Norihisa↗

NCS Program Health Tool

At the end of 2019, there were assessments of multiple safety management programs relied on by NCS that had significant issues identified. Discuss outliers with responders. Better definitions of categories. Expand audience. Move from Excel spreadsheet to web-based.

99 GENERAL AND MISCELLANEOUS↗

Multimodal Deep Learning for Flaw Detection in Software Programs

We explore the use of multiple deep learning models for detecting flaws in software programs. Current, standard approaches for flaw detection rely on a single representation of a software program (e.g., source code or a program binary). We illustrate that, by using techniques from multimodal deep learning, we can simultaneously leverage multiple representations of software programs to improve flaw detection over single representation analyses. Specifically, we adapt three deep learning models from the multimodal learning literature for use in flaw detection and demonstrate how these models outperform traditional deep learning models. We present results on detecting software flaws using the Juliet Test Suite and Linux Kernel.

97 MATHEMATICS AND COMPUTING↗