Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “portable arrays”

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 37 records · Page 2

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↗

Simulated X-Ray Radiographic Performance of a Bismuth-Loaded PVT Array

Recent material advancements in organic plastic scintillators enable marked increases in material detection efficiency, light yield, and pulse shape discrimination properties. These advances may resolve significant capability gaps for lowcost, portable, and durable dual-particle imaging (DPI) systems for nuclear safety, security, and safeguard purposes. One such material, a 21% bismuth-loaded polyvinyl toluene (BiPVT), is computationally evaluated as a small, pixelated radiographic array using Monte Carlo N-Particle (MCNP) and Zemax OpticStudio, and it is compared to identical evaluations of EJ-200 and EJ-256 arrays. MCNP software enables estimates of particle interaction and energy deposition, while OpticStudio computes optical light transport within each material. Here, computational estimates of spatial resolution and relative light collection at 370 kVp are found to agree with experimental results for both EJ-200 and EJ-256 arrays, thereby validating predictions of the same for the BiPVT array. As such, for equivalent exposures at 370 kVp, a BiPVT array may provide ~20× the light collection expected from EJ-200 and ~10× that expected from EJ-256. Similar comparisons of estimated light collection are also computed at 150 and 270 kVp, and these results suggest that BiPVT will provide significantly improved performance over EJ-200 and EJ-256 across all energies practical for portable X-ray radiography.

42 ENGINEERING↗

Matrix and Array (MATAR) Library

MATAR is a C++ software library to allow developers to easily create and use dense and sparse data representations that are also portable across disparate architectures using Kokkos.

Morgan, Nathaniel↗

To Interoperability And Beyond: Interoperable Types Through the Promises of C and C++ and ABI Abuse [Slides]

This presentation presents a technique that allows passing of Fortran nested-type hierarchies interoperably to C++. The technique is motivated by the Eulerian Application Project’s need to port code from Fortran to C++ to utilize the Kokkos performance portability library. The resulting method allows hierarchies of types to become interoperable while at the same time transforming Fortran array members of the original Fortran type into Kokkos::Views in the resulting C++ type.

97 MATHEMATICS AND COMPUTING↗

On a Simplified Approach to Achieve Parallel Performance and Portability Across CPU and GPU Architectures

This paper presents software advances to easily exploit computer architectures consisting of a multi-core CPU and CPU+GPU to accelerate diverse types of high-performance computing (HPC) applications using a single code implementation. The paper describes and demonstrates the performance of the open-source C++ matrix and array (MATAR) library that uniquely offers: (1) a straightforward syntax for programming productivity, (2) usable data structures for data-oriented programming (DOP) for performance, and (3) a simple interface to the open-source C++ Kokkos library for portability and memory management across CPUs and GPUs. The portability across architectures with a single code implementation is achieved by automatically switching between diverse fine-grained parallelism backends (e.g., CUDA, HIP, OpenMP, pthreads, etc.) at compile time. The MATAR library solves many longstanding challenges associated with easily writing software that can run in parallel on any computer architecture. This work benefits projects seeking to write new C++ codes while also addressing the challenges of quickly making existing Fortran codes performant and portable over modern computer architectures with minimal syntactical changes from Fortran to C++. We demonstrate the feasibility of readily writing new C++ codes and modernizing existing codes with MATAR to be performant, parallel, and portable across diverse computer architectures.

97 MATHEMATICS AND COMPUTING↗

Toward Evaluating High-Level Synthesis Portability and Performance between Intel and Xilinx FPGAs

Offloading computation from a CPU to a hardware accelerator is becoming a more common solution for improving performance because traditional gains enabled by Moore’s law and Dennard scaling have slowed. GPUs are often used as hardware accelerators, but field-programmable gate arrays (FPGAs) are gaining traction. FPGAs are beneficial because they allow hardware specific to a particular application to be created. However, they are notoriously difficult to program. To this end, two of the main FPGA manufacturers, Intel and Xilinx, have created tools and frameworks that enable the use of higher level languages to design FPGA hardware. Although Xilinx kernels can be designed by using C/C++, both Intel and Xilinx support the use of OpenCL C to architect FPGA hardware. However, not much is known about the portability and performance between these two device families other than the fact that it is theoretically possible to synthesize a kernel meant for Intel to Xilinx and vice versa.In this work, we evaluate the portability and performance of Intel and Xilinx kernels. We use OpenCL C implementations of a subset of the Rodinia benchmarking suite that were designed for an Intel FPGA and make the necessary modifications to create synthesizable OpenCL C kernels for a Xilinx FPGA. We find that the difficulty of porting certain kernel optimizations varies, depending on the construct. Once the minimum amount of modifications is made to create synthesizable hardware for the Xilinx platform, more nontrivial work is needed to improve performance. However, we find that constructs that are known to be performant for an FPGA should improve performance regardless of the platform; the difficulty comes in deciding how to invoke certain kernel optimizations while also abiding by the constraints enforced by a given platform’s hardware compiler.

Cabrera, Anthony↗

Verification of Spent Fuel Inside Dry Storage Casks by Cask Top Fast Neutron Mapping (FY2023 Mid-Year Report)

This project is developing a prototype scanner array verification system for detection of missing fuel assemblies in spent-fuel storage casks. The prototype consists of six fast-neutron scintillator detectors mounted to a linear actuator frame that is placed on the top of a spent fuel cask to scan across all fuel assembly positions. The scanner array was assembled and tested at LLNL in FY2022. A field test schedule has been requested at the Idaho National Laboratory (INL) Cask Farm site for FY2023. Note that the Cask Farm contractor determines this scheduling and not INL directly. Further system automation will be designed and implemented with the goal of obtaining a level of system operation that meets IAEA needs. This includes integration of the scanner array and data-acquisition control software into a single interface for operator use. In addition, commercial operators and the IAEA may have special requirements for portability, shipping, lifting, and installation. Prior to the Field Test at INL, the system will be operated at LLNL to exercise lifting procedure and linear actuators, monitor stability of detector energy and pulse-shape discrimination calibration, and test system software integration efforts. Following the Field Test, we will present results and discuss the technology with the IAEA. We will incorporate additional improvements to the system based on lessons learned from the field test and feedback from the IAEA. If successful, the technology can be transferred to the IAEA or other stakeholders for assessment.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Portable C++ Code that can Look and Feel Like Fortran Code with Yet Another Kernel Launcher (YAKL)

This paper introduces the Yet Another Kernel Launcher (YAKL) C++ portability library, which strives to enable user-level code with the look and feel of Fortran code. The intended audience includes both C++ developers and Fortran developers unfamiliar with C++. The C++ portability approach is briefly explained, YAKL’s main features are described, and code examples are given that demonstrate YAKL’s usage. YAKL fills a niche capability important particularly to scientific applications seeking to port Fortran code quickly to a portable C++ library. YAKL places heavy emphasis on simplicity, readability, and productivity with performance mainly emphasizing Graphics Processing Units (GPUs). Central to YAKL’s ability to allow Fortran-like user-level code are three features: (1) a multi-dimensional Array class that allows Fortran behavior; (2) a limited library of Fortran intrinsic functions; and (3) an efficient pool allocator that transparently enables cheap frequent allocations and deallocations of YAKL Arrays. While YAKL allows Fortran-style code, it also allows Arrays that exhibit C-like behavior as well, including row-major index ordering and lower bounds of “0”. YAKL currently supports CPUs, CPU threading, and Nvidia, AMD, and Intel GPUs.

97 MATHEMATICS AND COMPUTING↗

MATAR: A performance portability and productivity implementation of data-oriented design with Kokkos

There is a need for simple, fast, and memory-efficient multidimensional data structures for dense and sparse storage that arise with numerical methods and in software applications. The data structures must perform equally well across multiple computer architectures, including CPUs and GPUs. For this purpose, we developed MATAR, a C++ software library that allows for simple creation and use of intricate data structures that is also portable across disparate architectures using Kokkos. Here, the performance aspect is achieved by forcing contiguous memory layout (or as close to contiguous as possible) for multidimensional and multi-size dense or sparse MATrix and ARray (hence, MATAR) types. Our results show that MATAR has the capability to improve memory utilization, performance, and programmer productivity in scientific computing. This is achieved by fitting more work into the available memory, minimizing memory loads required, and by loading memory in the most efficient order. This document describes the purpose of the work, the implementation of each of the data types, and the resulting performance both in some simple baseline test cases and in an application code.

97 MATHEMATICS AND COMPUTING↗

Parallel Algebraic Multigrid for Fusion and Higher-Order PDEs

Multigrid methods play a key role in large-scale scientific simulation because they are among the fastest and most scalable approaches for solving the underlying sparse linear systems of equations that arise from a wide array of Partial Differential Equation (PDE) discretizations. Algebraic multigrid (AMG) is a special type of multigrid method that depends only on the description of the linear system, giving it better portability and broader applicability than geometric multigrid, as it requires no explicit knowledge of the problem geometry. Even though these methods are widely used today, there are still applications where further development is needed. In this report, we focus on PDEs with higher-order terms (e.g., fourth order), concentrating on a PDE that arises in tokamak edge plasma simulations (a tokamak is a machine that confines a plasma using magnetic fields and is believed to be the leading plasma confinement concept for future fusion power plants). General multigrid relaxes a linear system on coarser grids and reverses this process with interpolation, but standard AMG methods struggle with the aforementioned higher-order PDEs. We investigate cyclic coarsening and interpolation heuristics, as well as new iterative approximation methods of refining the solution at each grid to improve the existing multigrid approach. To this end, we ensure that these techniques are transferable to a parallelized setting with LLNL’s supercomputers.

97 MATHEMATICS AND COMPUTING↗

The use of a digital micromirror array as a temporal gate and spatial-filtering device for laser-induced breakdown spectroscopy and laser ablation molecular isotopic spectrometry

A digital micromirror array (DMMA) is used in a simple and inexpensive approach for spatially resolved temporal gating of atomic emission detection in laser-induced breakdown spectroscopy (LIBS). Selected mirrors in the array are actuated at a time delayed from the primary laser pulse, permitting optical gating with a response time of 160 ns while using a conventional CCD detector. Detector gating is shown to decrease noise from short-lived spectroscopic background (both continuum and N II from air), improving signal-to-background ratios by 22-times for selected samples and emission lines. The utility of rapid temporal gating is also demonstrated for the optical detection of isotopes using the laser-ablation molecular isotope spectrometry (LAMIS) experiment. Additionally, optical temporal gating and spatial filtering are used to isolate regions of the laser-induced plasma, enhancing signal from molecular emission. The potential of the simple technique for use in field-portable LIBS and LAMIS experiments is explored.

46 INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND ↗

TRACER Lightning Mapping Array Field Campaign Report

Our observational contribution to the U.S. Department of Energy Atmospheric Radiation Measurement (ARM) user facility’s Tracking Aerosol Convection Interactions Experiment (TRACER) was the deployment of additional Lightning Mapping Array sensors to provide enhanced capability to the Houston Lightning Mapping Array (HLMA) during the TRACER intensive operational period. To that end, the Texas Tech University personnel (Professor Bruning and Dr. Brunner, and graduate students Jessica Souza, David Singewald, Stephanie Weiss, and Matthew Miller) deployed two portable LMA antennae at locations G and B shown in the map below. The map also shows the predicted lightning flash detection efficiency in black contours, as well as color-shaded very-high-frequency (VHF) source detection efficiency, which roughly corresponds to the sensitivity to lightning channel detail. Feeds from these sensors were integrated in the HLMA processing in real-time and in post-processing, partially leveraging National Science Foundation support through the TRACER campaign that supported the core HLMA, operated by Timothy Logan.

54 ENVIRONMENTAL SCIENCES↗

Electrophoretic device and method to separate and detect analyte ions

This invention is directed to an inexpensive, miniaturized, portable, low-power device and method for electrophoretic separation and electrochemical detection of an analyte, including different isotopes of the same element. The invention replaces a conventional or microfabricated capillary electrophoresis tube with a microchip comprising an array of parallel electrophoretic separation nanotubes or aligned hollow channels fabricated in a porous substrate.

Klavetter, Kyle C.↗

Inference-Engine v0.1.0

Given a pre-trained neural network, Inference-Engine performs maps network inputs to outputs by executing the forward pass through the provided network. Although the predominant programming language for machine-learning is Python, most high-performance computing (HPC) applications are written in Fortran, C, or C++. Inference-Engine aims to support HPC programs and is written in Fortran, a language with a large feature set supporting interoperability with C. This software exposes concurrency in a portable way by using standard language features that some modern Fortran compilers can exploit with various optimizations, including offloading computation to a Graphics Processing Unit (GPU). In particular, this software makes extensive use of Fortran's "do concurrent" parallel loop construct, implicitly parallel array statements, and pure procedures that can be invoked inside "do concurrent" blocks. Inference-Engine also supports dynamic choice of inference methods at runtime. Two current options include one method that uses Fortran's "dot_product" intrinsic function inside "do concurrent" blocks and another method that instead uses Fortran' "matmul" array intrinsic function. We plan to investigate automatic compiler offloading of "do concurrent" calculations to GPUs and compile-time substitution of optimized libraries such as the Basic Linear Algebra Library (BLAS) for "matmul" invocations. We also envision the potential for the choice of which method to use could happen at program launch based on in situ performance measurements on any given platform.

Rouson, Damian↗

Design and implementation of a portable diagnostic system for Thomson scattering and optical emission spectroscopy measurements

A diagnostic system, which has a design goal of high-portability, has been designed at Oak Ridge National Laboratory (ORNL). This project aims at providing measurements of key plasma parameters (ne, Te, ni, Ti) for fusion-relevant devices, utilizing Thomson scattering (TS) and optical emission spectroscopy (OES). The innovative design employs mostly commercial off-the-shelf instrumentation and a traveling team of researchers to conduct measurements at various magnetic-confinement plasma devices. The TS diagnostic uses a Quantel Q-smart 1500 Nd:YAG laser with a 2ω harmonic generator to produce up to 850 mJ of 532 nm laser pulses at 10 Hz. Collection optics placed at the detection port consists of an 11 × 3 optical fiber bundle, where the TS diagnostic uses an 11 × 1 subset array of the fibers, the OES diagnostic uses another 11 fibers, and the remaining fibers are available to the host institution. The detection system is comprised of two separate IsoPlane-320 spectrometers with triple-grating turrets of various line spacing and two PI-MAX 4 intensified CCD detectors, used simultaneously to measure a broad range of ion, impurity, and electron parameters. The self-contained diagnostic package also includes a data processing and storage system. The design and initial implementation of the TS-OES diagnostic system are described. The experiments from the proof-of-principle operation of the portable package on a high density (∼2.5 × 1022 m−3) and low-temperature (∼5 eV) electrothermal arc source at ORNL are also discussed.

Kafle, N. (ORCID:000000028144787X)↗

Optimization with the OpenACC-to-FPGA framework on the Arria 10 and Stratix 10 FPGAs

The reconfigurable computing paradigm with field programmable gate arrays (FPGAs) has received renewed interest in the high-performance computing field due to FPGAs’ unique combination of performance and energy efficiency. However, difficulties in programming and optimizing FPGAs have prevented them from being widely accepted as general-purpose computing devices. In accelerator-based heterogeneous computing, portability across diverse heterogeneous devices is also an important issue, but the unique architectural features in FPGAs make this difficult to achieve. To address these issues, a directive-based, high-level FPGA programming and optimization framework was previously developed. In this work, developed optimizations were combined holistically using the directive-based approach to show that each individual benchmark requires a unique set of optimizations to maximize performance. We perform this exploration on Intel Arria 10 and Stratix 10 FPGAs. We also explored the relationships between performance, resource usages, and compilation times, and investigated implications for performance portability. Finally, we present an initial evaluation of a real-world proxy application, LULESH.

97 MATHEMATICS AND COMPUTING↗

In-Depth Optimization with the OpenACC-to-FPGA Framework on an Arria 10 FPGA

The reconfigurable computing paradigm that uses field programmable gate arrays (FPGAs) has received renewed interest in the high-performance computing field due to FPGAs' unique combination of performance and energy efficiency. However, difficulties in programming and optimizing FPGAs have prevented them from being widely accepted as general-purpose computing devices. In accelerator-based heterogeneous computing, portability across diverse heterogeneous devices is also an important issue, but the unique architectural features in FPGAs make this difficult to achieve. To address these issues, a directive-based, high-level FPGA programming and optimization framework was previously developed. In this work, developed optimizations were combined holistically using the directive-based approach to show that each individual benchmark requires a unique set of optimizations to maximize performance. The relationships between FPGA resource usages and runtime performance were also explored.

Lambert, Jacob↗