Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “computer architecture”

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,117 records · Page 62

Distributed computing environments for future space control systems

The aim of this paper is to present the results of a CNES research project on distributed computing systems. The purpose of this research was to study the impact of the use of new computer technologies in the design and development of future space applications. The first part of this study was a state-of-the-art review of distributed computing systems. One of the interesting ideas arising from this review is the concept of a 'virtual computer' allowing the distributed hardware architecture to be hidden from a software application. The 'virtual computer' can improve system performance by adapting the best architecture (addition of computers) to the software application without having to modify its source code. This concept can also decrease the cost and obsolescence of the hardware architecture. In order to verify the feasibility of the 'virtual computer' concept, a prototype representative of a distributed space application is being developed independently of the hardware architecture.

Viallefont, Pierre↗

A parallel-pipeline architecture of the fast polynomial transform for computing a two-dimensional cyclic convolution

It is pointed out that the two-dimensional cyclic convolution is a useful tool for many two-dimensional digital signal processing applications. Two important applications are related to spaceborne high-resolution synthetic aperture radar (SAR) processing and image processing. Nussbaumer and Quandalle (1978) showed that a radix-2 polynomial transform analogous to the conventional radix-2 FFT algorithm can be used to compute a two-dimensional cyclic convolution. On the basis of results reported by Arambepola and Rayner (1979), a radix-2 polynomial transform can be defined to compute a multidimensional cyclic convolution. Truong et al. (1981) used the considered ideas together with the Chinese Theorem to further reduce the complexity of the radix-2 fast polynomial transform (FPT). Reed et al. (1981) demonstrated that such a new FPT algorithm is significantly faster than the FFT algorithm for computing a two-dimensional convolution. In the present investigation, a parallel-pipeline architecture is considered for implementing the FPT developed by Truong et al.

Truong, T. K.↗

A parallel and performance portable implementation of a full-field crystal plasticity model

We have developed a parallel implementation of an Elasto-Viscoplastic Fast Fourier Transform-based (EVPFFT) micromechanical solver to enable computationally efficient crystal plasticity modeling for polycrystalline materials. Our primary focus lies in achieving performance portability, allowing a single EVPFFT implementation to run optimally on various homogeneous architectures, including multi-core Central Processing Units (CPUs), as well as on heterogeneous computer architectures comprising multi-core CPUs and Graphics Processing Units (GPUs) from different vendors. To accomplish this goal, we have leveraged MATAR, a C++ software library that simplifies the creation and utilization of multidimensional dense or sparse matrix and array data structures. These data structures are designed to be portable across diverse architectures through the use of Kokkos, a performance-portable library. Additionally, we have employed the Message Passing Interface (MPI) to efficiently distribute the computational workload among processors. The heFFTe (Highly Efficient FFT for Exascale) library is used to facilitate the performance portability of the fast Fourier transforms (FFTs) computation. The computational performance of EVPFFT is evaluated and presented in terms of parallel scalability and simulation runtime on different high-performance computing (HPC) architectures. As a result, the utility of the developed framework to efficiently simulate the micro-mechanical fields in polycrystalline microstructures in engineering applications is discussed.

36 MATERIALS SCIENCE↗

Metal additive manufacturing simulation across length, time, and computing scales

Metal additive manufacturing (AM) offers a unique opportunity for production of advanced materials and complex geometries. However, variability in microstructure and properties challenges conventional approaches to design, process optimization, qualification, and materials selection. Modeling and simulation can improve understanding of AM processing and materials, but also poses major challenges for existing computational methods. Simultaneously, modern scientific computing hardware has become increasingly complex, most notably with the adoption of hybrid architectures such as Graphical Processing Units (GPUs). If appropriately utilized, emerging computational capabilities provide an opportunity to reveal new insight into AM processing and the resulting material structure and properties. In this review we describe the computational AM landscape, identify critical gaps, and highlight opportunities to impact the development and application of AM. First, the requirements and challenges of representative AM problem statements will be defined. Here, these problems range from scientific studies to industrial applications and are designed to capture the breadth of challenges facing the AM community. Next, the current state of AM modeling and simulation is evaluated, broken down by enabling hardware and software, process simulation, microstructure simulation, and property simulation. Each section describes the diversity of simulation approaches and associated trade-offs in physical fidelity and computational expense. Each area is then assessed based on their suitability and readiness for current and developing computational architectures. Lastly, the greatest opportunities for future research and application are highlighted, including gaps in modeling capabilities, opportunities for near-term application, and key scientific challenges.

additive manufacturing↗

Modelling parallel programs and multiprocessor architectures with AXE

AXE, An Experimental Environment for Parallel Systems, was designed to model and simulate for parallel systems at the process level. It provides an integrated environment for specifying computation models, multiprocessor architectures, data collection, and performance visualization. AXE is being used at NASA-Ames for developing resource management strategies, parallel problem formulation, multiprocessor architectures, and operating system issues related to the High Performance Computing and Communications Program. AXE's simple, structured user-interface enables the user to model parallel programs and machines precisely and efficiently. Its quick turn-around time keeps the user interested and productive. AXE models multicomputers. The user may easily modify various architectural parameters including the number of sites, connection topologies, and overhead for operating system activities. Parallel computations in AXE are represented as collections of autonomous computing objects known as players. Their use and behavior is described. Performance data of the multiprocessor model can be observed on a color screen. These include CPU and message routing bottlenecks, and the dynamic status of the software.

Yan, Jerry C.↗

Understanding Portability of a High-Level Programming Model on Contemporary Heterogeneous Architectures

Accelerator-based heterogeneous computing is gaining momentum in the high-performance computing arena. However, the increased complexity of heterogeneous architectures demands more generic, high-level programming models. OpenACC is one such attempt to tackle this problem. Although the abstraction provided by OpenACC offers productivity, it raises questions concerning both functional and performance portability. In this article, the authors propose HeteroIR, a high-level, architecture-independent intermediate representation, to map high-level programming models, such as OpenACC, to heterogeneous architectures. They present a compiler approach that translates OpenACC programs into HeteroIR and accelerator kernels to obtain OpenACC functional portability. They then evaluate the performance portability obtained by OpenACC with their approach on 12 OpenACC programs on Nvidia CUDA, AMD GCN, and Intel Xeon Phi architectures. They study the effects of various compiler optimizations and OpenACC program settings on these architectures to provide insights into the achieved performance portability.

97 MATHEMATICS AND COMPUTING↗

A Survey of Architectural Techniques for Near-Threshold Computing

Energy efficiency has now become the primary obstacle in scaling the performance of all classes of computing systems. In low-voltage computing and specifically, near-threshold voltage computing (NTC), which involves operating the transistor very close to and yet above its threshold voltage, holds the promise of providing many-fold improvement in energy efficiency. However, use of NTC also presents several challenges such as increased parametric variation, failure rate and performance loss etc. Our paper surveys several re- cent techniques which aim to offset these challenges for fully leveraging the potential of NTC. By classifying these techniques along several dimensions, we also highlight their similarities and differences. Ultimately, we hope that this paper will provide insights into state-of-art NTC techniques to researchers and system-designers and inspire further research in this field.

97 MATHEMATICS AND COMPUTING↗

High Fidelity CFD Simulations Supporting the KP-FHR

Kairos Power, LLC, is developing its version of the Fluoride-cooled High-temperature Reactor, the KP-FHR. The design uses a pebble bed core with fluoride salt as a coolant. The pebbles used in the KP-FHR have a diameter of 4 cm, with a shell fuel region where TRISO particles are embedded. A Pebble bed core design is adopted by several Gen IV reactors, They boast many benefits, such as fuel integrity, highly efficient heat transfer, and passive safety. However, it is challenging to accurately predict temperature and flow inside a pebble bed. Traditional approaches use the porous media model, which regards the pebble bed as a continuous medium, but with different temperature fields representing different levels, such as the fluid temperature, pebble surface temperature, and pebble center temperature. Empirical heat transfer correlations are adopted to calculate the heat transfer coefficient between different phases. However, empirical correlations are usually validated with experimental data, which usually lacks detail inside the pebble bed. The available experimental data is also generally at a high Reynolds number, which falls outside of the conditions of KP-FHR. Explicit computational fluid dynamics (CFD) simulations of randomly packed pebble beds have only become feasible recently. This is thanks to the rapid development of computational power and scalable algorithms. In this work, we used the Spectral Element Method (SEM) CFD code NekRS to simulate the randomly packed pebble bed in a cylindrical container. NekRS, which is the GPU variant of Nek5000, but refactored to utilize the computational power of GPUs using the OCCA library to run on hybrid architecture high performance computing systems. It was initially developed with the libParamunal library, but truncated and tuned for large-scale turbulence simulation. As a result, the SEM reaches higher precision with the same degrees of freedom by using a high-order Lagrange polynomial basis distributed on Gauss-Lobatto-Legendre quadrature inside each element, compared to lower-order methods, such the Finite Volume Method and Finite Element Method. The report is divided into five parts. We start with a general discussion of the pebble bed reactor, along with a specific investigation into the KP-FHR. The second part presents the numerical methodology. In the third part, we study a modular pebble bed with 1741 pebbles in a container of 7 pebble-diameter radius. Beyond LES simulations done by NekRS, we also leveraged the thermal radiation model in OpenFOAM to study heat transfer under no-forced-flow scenarios. Then, in the fourth part we simulated a pebble bed similar to the size of the Hermes Test Reactor. The total number of pebbles is in these simulations is 34,374. The container radius is 14 pebble-diameters. Finally, the report concludes in part five, with a discussion of future work.

21 SPECIFIC NUCLEAR REACTORS AND ASSOCIATED PLANTS↗

Suggested architecture for a specialized fluid dynamics computer

Future flow simulations in 3-D will require computers with extremely large main memories and an advantageous ratio between computer cost and arithmetic speed. Since random access memories are very expensive, a pipeline design is proposed which allows the use of much cheaper sequential devices without any sacrifice in speed for vector references (even with arbitrary spacing between successive elements). Also scalar arithmetic can be performed efficiently. The comparatively low speed of the proposed machine (about 10 to the 7th power operations per second) would be offset by a very low price per unit, making mass production possible.

Fornberg, B.↗

Optical Kalman filtering for missile guidance

Optical systolic array processors constitute a powerful and general-purpose set of optical architectures with high computational rates. In this paper, Kalman filtering, a novel application for these architectures, is investigated. All required operations are detailed; their realization by optical and special-purpose analog electronics are specified; and the processing time of the system is quantified. The specific Kalman filter application chosen is for an air-to-air missile guidance controller. The architecture realized in this paper meets the design goal of a fully adaptive Kalman filter which processes a measurement every 1 msec. The vital issue of flow and pipelining of data and operations in a systolic array processor is addressed. The approach is sufficiently general and can be realized on an optical or digital systolic array processor.

Casasent, D.↗

Progress in Unsteady Turbopump Flow Simulations

This viewgraph presentation discusses unsteady flow simulations for a turbopump intended for a reusable launch vehicle (RLV). The simulation process makes use of computational grids and parallel processing. The architecture of the parallel computers used is discussed, as is the scripting of turbopump simulations.

Kiris, Cetin C.↗

QuAIL Tools for Benchmarking, Analysis and Quantum Algorithm Development

HybridQ and PySA are open-source tools developed by NASA to support benchmarking, analysis and quantum algorithm development in areas such as simulation, optimization and machine learning. These tools leverage classical hardware acceleration via high-performance computing CPU and GPU architectures and support high-performance computing. HybridQ is a highly extensible platform designed to provide a common framework to integrate multiple state-of-the-art techniques to simulate large scale quantum circuits. PySA is an extensible platform to optimize a classical cost function. We provide an outline of each of these open-source tools and highlight projects using each of these tools in contexts of simulation, optimization and machine learning.

Quantum Computing↗

CUDA Computation of the Feynman Distribution

In 2006, NVIDIA Corporation introduced the Computer Unified Device Architecture (CUDA) for C, C++, and Fortran programming languages. The CUDA parallel computing platform uses the Graphics Processing Unit (GPU) of NVIDIA graphics card, and it is designed for parallel computations. In these computations, the same algorithms are executed on the data in parallel. The GPU contains many Streaming Multiprocessors (SM) that can independently execute blocks of threads. A thread is a sequence of serial programmed instructions. The SM executes threads in groups of 32 and a group of 32 threads is called warp. The threads within a block can be synchronized and have access to a shared memory that is visible only to them. Conversely, blocks of threads cannot be synchronized and have access only to the global memory of the graphics card. This memory is called device memory and is independent of the host memory controlled by the Central Processing Unit (CPU). A single thread has access to a local memory (register) that is not visible to any other thread. The part of the program that is executed on the graphics card is called kernel. Each thread of the kernel has a unique identification index that is accessible by the in-built variable threadIdx; the latter is a 3-component vector. A threads block can contain up to 1024 threads. Blocks of threads have a unique identification index that is accessible by the in-built variable blockIdx; the latter is a 3-component vector. The in-built variable blockDim contains the number of threads per block; this variable is a 3-component vector. Threads and blocks represent different levels of parallelism; a kernel is executed as a grid of blocks of threads. Figure 1 illustrates a grid of thread blocks for a GPU with 2 SM. A SM can execute multiple blocks of threads in parallel; a block of threads is executed on a single SM. A GPU can execute multiple kernels concurrently. This work has used the Quadro M5000 graphics card with the following technical specifications: - 2048 cores with 861 MHz frequency, - 16 streaming multiprocessors, - 5.2 trillion transistors, - 8.2 Gb device memory, - 64 kb register memory (per thread), - 48 kb shared memory (per block) - 211.6 GB/s memory bandwidth, and - 3.5 GFLOPS floating point performance.

97 MATHEMATICS AND COMPUTING↗

A Programming Framework for Scientific Applications on CPU-GPU Systems

At a high level, my research interests center around designing, programming, and evaluating computer systems that use new approaches to solve interesting problems. The rapid change of technology allows a variety of different architectural approaches to computationally difficult problems, and a constantly shifting set of constraints and trends makes the solutions to these problems both challenging and interesting. One of the most important recent trends in computing has been a move to commodity parallel architectures. This sea change is motivated by the industry’s inability to continue to profitably increase performance on a single processor and instead to move to multiple parallel processors. In the period of review, my most significant work has been leading a research group looking at the use of the graphics processing unit (GPU) as a general-purpose processor. GPUs can potentially deliver superior performance on a broad range of problems than their CPU counterparts, but effectively mapping complex applications to a parallel programming model with an emerging programming environment is a significant and important research problem.

99 GENERAL AND MISCELLANEOUS↗