Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Portable Performance”

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 523 records · Page 29

TPSAS-NF1676L-18458-DND

Motivation - Development of NASA Langley CFD solvers was traditionally lead by one or two people - Resulted in tools that are vulnerable to the loss of a single person - Rigorous and repeatable testing environments were rare - Standardization, portability, and performance was often overlooked - Informal or no source code version control - Low-level collaboration within NASA Langley very difficult; off-site collaborations near impossible

Mike Park↗

Kokkos Tensor Library

Explore the source record for details and available documents.

97 MATHEMATICS AND COMPUTING↗

Heating performance of an air source heat pump with a portable thermoelectric subcooler

This study investigates the heating performance of an integrated air-source heat pump (ASHP) with a thermoelectric subcooler (TES) module, revealing significant performance enhancements, particularly in colder temperatures. Results show that adding the portable TES boosts the ASHP's heating capacity, making it feasible for residential applications. The coefficient of performance (COP) for the TE system, which is influenced by condensing temperatures and ambient conditions, ranges from 1.51 to 2.07. If condensing temperatures are consistently maintained above 35 °C, a TE COP of approximately 2.07 is achievable, supporting system downsizing and reducing supplemental heating. When coupled with an oversized indoor coil, the TES-ASHP system delivers comparable heating to a baseline unit while achieving a 10 % higher COP. Capacity increases by 8.7 %–24 % with TES in colder conditions, though COP declines by 9 %–18 %, diminishing as temperatures drop. Compared to systems with supplemental heating, this setup achieves a COP 10 %–17 % higher. Future work will involve extended field testing in various climates, exploration of advanced materials for thermal efficiency, and assessment of alternative refrigerants to improve performance and sustainability. This integrated ASHP-TES system holds promise for increased efficiency and reduced environmental impact in cold climates.

Air source heat pump↗

ORNL Portable Diagnostic Package for Evaluating Mirror Performance

Oak Ridge National Laboratory (ORNL) and Realta Fusion successfully executed a one-year collaborative effort to deploy the Portable Diagnostic Package (PDP) on the Wisconsin HTS Axisymmetric Mirror (WHAM) and to assess future diagnostic needs. The PDP consists of an optical emission spectroscopy (OES) subsystem and a Thomson scattering (TS) subsystem. Within the first two months, the PDP OES subsystem was installed, integrated with WHAM timing, and handed over to trained Realta personnel. It immediately delivered multi-channel impurity surveys and the first spatially resolved plasma-rotation profiles inferred from C III Doppler shifts. The TS subsystem was commissioned within the first six months; transportation of the class IV laser system, approval of the safety plan, and the integration with WHAM timing with 100 ns resolution. The TS subsystem provided the first localized electron temperature measurements in WHAM commissioning shots. Leveraging these results, the team has discussed a diagnostic concept map for Realta’s next-step facility, Anvil, identifying line-of-sight constraints, required temporal resolution, and hardware upgrades.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗

Towards Superior Software Portability with SHAD and HPX C++ Libraries

As hardware architectures and software stacks complexity grows, development productivity, performance and software portability, quickly evolve from desirable features to actual needs. SHAD, the Scalable High-performance Algorithms and Data-structures C++ library is designed to mitigate these issues: it provides general purpose building blocks as well as high-level custom utilities, and offers a shared-memory programming abstraction which facilitates the programming of complex systems, scaling up to High Performance Computing clusters. SHAD’s portability is achieved through an abstract runtime interface, which decouples the upper layers of the library and hides the low level details of the underlying architecture. This layer enables SHAD to interface with different runtime/threading systems, e.g. Intel TBB and Global Memory and Threading (GMT). However, current backends targeting distributed systems, rely on a centralized controller which may possibly limit scalability up to hundreds of nodes and creates a network hot spot due to all to one communication for synchronization, and possibly resulting in degraded performance at high process counts. In this research, we explore HPX, the C++ standard library for parallelism and concurrency, as an additional backend in support of the SHAD library, and present the methodologies in support of local and remote task executions in SHAD with respect to HPX. Finally, we evaluate the proposed system by comparing against existing backends of SHAD and analyzing their performance on C++ Standard Template Library algorithms.

Wu, Nanmiao↗

Portable Life Support Subsystem Thermal Hydraulic Performance Analysis

This paper presents the current state of the thermal hydraulic modeling efforts being conducted for the Constellation Space Suit Element (CSSE) Portable Life Support Subsystem (PLSS). The goal of these efforts is to provide realistic simulations of the PLSS under various modes of operation. The PLSS thermal hydraulic model simulates the thermal, pressure, flow characteristics, and human thermal comfort related to the PLSS performance. This paper presents modeling approaches and assumptions as well as component model descriptions. Results from the models are presented that show PLSS operations at steady-state and transient conditions. Finally, conclusions and recommendations are offered that summarize results, identify PLSS design weaknesses uncovered during review of the analysis results, and propose areas for improvement to increase model fidelity and accuracy.

Barnes, Bruce↗

Empirical Performance Analysis of HPC Applications with Portable Hardware Counter Metrics [Thesis]

In this dissertation, we demonstrate that it is possible to develop methods of empirical hardware-counter-based performance analysis for scientific applications running on diverse types of CPUs. Although hardware counters have been used in performance analysis for at least 30 years, the methods used are still limited to particular CPU vendors or even particular generations of CPUs from the same vendor. Our motivating hypothesis is that hardware counter-based measurements could be developed to provide consistent performance information on diverse CPU types. This dissertation proves the hypothesis was correct by demonstrating one such set of metrics.

97 MATHEMATICS AND COMPUTING↗

Software for Sparse Tensor Decomposition on Emerging Computing Architectures

In this paper, we develop software for decomposing sparse tensors that is portable to and performant on a variety of multicore, manycore, and GPU computing architectures. The result is a single code whose performance matches optimized architecture-specific implementations. The key to a portable approach is to determine multiple levels of parallelism that can be mapped in different ways to different architectures, and we explain how to do this for the matricized tensor times Khatri--Rao product (MTTKRP), which is the key kernel in canonical polyadic tensor decomposition. Our implementation leverages the Kokkos framework, which enables a single code to achieve high performance across multiple architectures that differ in how they approach fine-grained parallelism. We also introduce a new construct for portable thread-local arrays, which we call compile-time polymorphic arrays. Not only are the specifics of our approaches and implementation interesting for tuning tensor computations, but they also provide a roadmap for developing other portable high-performance codes. As a last step in optimizing performance, we modify the MTTKRP algorithm itself to do a permuted traversal of tensor nonzeros to reduce atomic-write contention. Lastly, we test the performance of our implementation on 16- and 68-core Intel CPUs and the K80 and P100 NVIDIA GPUs, showing that we are competitive with state-of-the-art architecture-specific codes while having the advantage of being able to run on a variety of architectures.

97 MATHEMATICS AND COMPUTING↗

PapyrusKV: a high-performance parallel key-value store for distributed NVM architectures

This paper introduces PapyrusKV, a parallel embedded key-value store (KVS) for distributed high-performance computing (HPC) architectures that offer potentially massive pools of nonvolatile memory (NVM). PapyrusKV stores keys with their values in arbitrary byte arrays across multiple NVMs in a distributed system. PapyrusKV provides standard KVS operations such as put, get, and delete. More importantly, PapyrusKV provides advanced features for HPC such as dynamic consistency control, zero-copy workflow, and asynchronous checkpoint/restart. Beyond filesystems, PapyrusKV provides HPC programmers with a high-level interface to exploit distributed NVM in the system, and it transparently organizes data to achieve high performance. Also, it allows HPC applications to specialize PapyrusKV to meet their specific requirements. We empirically evaluate PapyrusKV on three HPC systems with real NVM devices: OLCF's Summitdev, TACC's Stampede, and NERSC's Cori. Our results show that PapyrusKV can offer high performance, scalability, and portability across these various distributed NVM architectures.

97 MATHEMATICS AND COMPUTING↗

A Portable Oxygen Subsystem - Description and preliminary thermal performance prediction

This paper describes the use, operation, and preliminary thermal modeling of a Portable Oxygen Subsystem (POS). The POS is a partial rebreather which is being developed for Shuttle Orbiter support. Normally used as a pre-breather for denitrogenization prior to EVA, this semi-closed, breath powered breathing system can also be used for emergencies in the event of a contaminated or oxygen-deficient cabin atmosphere, to support an emergency transfer between vehicles, or as a clean oxygen supply in the event of a contaminated ambient atmosphere in the vicinity of the Orbiter after landing.

Sribnik, F.↗

Symmetric Indefinite Linear Solver Using OpenMP Task on Multicore Architectures

Recently, the Open Multi-Processing (OpenMP) standard has incorporated task-based programming, where a function call with input and output data is treated as a task. At run time, OpenMP's superscalar scheduler tracks the data dependencies among the tasks and executes the tasks as their dependencies are resolved. On a shared-memory architecture with multiple cores, the independent tasks are executed on different cores in parallel, thereby enabling parallel execution of a seemingly sequential code. With the emergence of many-core architectures, this type of programming paradigm is gaining attention-not only because of its simplicity, but also because it breaks the artificial synchronization points of the program and improves its thread-level parallelization. In this paper, we use these new OpenMP features to develop a portable high-performance implementation of a dense symmetric indefinite linear solver. Obtaining high performance from this kind of solver is a challenge because the symmetric pivoting, which is required to maintain numerical stability, leads to data dependencies that prevent us from using some common performance-improving techniques. To fully utilize a large number of cores through tasking, while conforming to the OpenMP standard, we describe several techniques. Our performance results on current many-core architectures-including Intel's Broadwell, Intel's Knights Landing, IBM's Power8, and Arm's ARMv8-demonstrate the portable and superior performance of our implementation compared with the Linear Algebra PACKage (LAPACK). The resulting solver is now available as a part of the PLASMA software package.

Computer Science↗

Portable Long-Wavelength Infrared Camera for Civilian Application

In this paper, we discuss the performance of this portable long-wavelength infrared camera in quantum efficiency, NEAT, minimum resolvable temperature differnce (MRTD), uniformity, etc. and its application in science, medicine and defense.

infrared wavelength portable↗

Multi-phase characterization of pitch-carbon coated nano-silicon anodes for lithium-ion batteries

Silicon (Si) is a leading next-generation Li-ion battery anode candidate that meets rigorous performance demands for portable power including enhanced power and energy density with robust cycling performance. However, a series of complex and interrelated reactions lead to reduced calendar life in Si-containing systems and therefore challenge practical adoption. In the present work, we probe the mechanisms underlying observed performance improvements by adding a pitch-carbon coating onto nano-Si material. We pair solid-phase (X-ray photoemission spectroscopy, Fourier-transform infrared), semi-volatile phase (solid-phase microextraction-gas chromatography-mass spectrometry), and gas-phase (gas chromatography-flame-ionization detector) characterization signals to comprehensively evaluate the impact of pitch-carbon coating on the evolution of the Si solid-electrolyte interphase (SEI) and the associated impacts on electrode/electrolyte reactivity. The pitch-carbon is found to serve as a physicochemical barrier, reducing the electro-active surface area for Si/electrolyte reactivity and preventing Si oxidation. Further, the pitch-carbon coating promotes the evolution of a more-favorable SEI by subsuming substantial functionality typically associated with the fluoroethylene carbonate (FEC) electrolyte additive - such as alkoxide scavenging and suppression of transesterification pathways - and by shifting the competitive electrolyte degradation pathways' favorability. The multi-phase characterization approach enables holistic end-products evaluation from complex (electro)chemical interfacial reactions, which informs a robust interpretation of the carbon coating's role in electrochemical performance improvements. The present mechanistic evaluation aids the rational design for improved nano-Si materials.

25 ENERGY STORAGE↗

PLUM: Parallel Load Balancing for Unstructured Adaptive Meshes

Dynamic mesh adaption on unstructured grids is a powerful tool for computing large-scale problems that require grid modifications to efficiently resolve solution features. Unfortunately, an efficient parallel implementation is difficult to achieve, primarily due to the load imbalance created by the dynamically-changing nonuniform grid. To address this problem, we have developed PLUM, an automatic portable framework for performing adaptive large-scale numerical computations in a message-passing environment. First, we present an efficient parallel implementation of a tetrahedral mesh adaption scheme. Extremely promising parallel performance is achieved for various refinement and coarsening strategies on a realistic-sized domain. Next we describe PLUM, a novel method for dynamically balancing the processor workloads in adaptive grid computations. This research includes interfacing the parallel mesh adaption procedure based on actual flow solutions to a data remapping module, and incorporating an efficient parallel mesh repartitioner. A significant runtime improvement is achieved by observing that data movement for a refinement step should be performed after the edge-marking phase but before the actual subdivision. We also present optimal and heuristic remapping cost metrics that can accurately predict the total overhead for data redistribution. Several experiments are performed to verify the effectiveness of PLUM on sequences of dynamically adapted unstructured grids. Portability is demonstrated by presenting results on the two vastly different architectures of the SP2 and the Origin2OOO. Additionally, we evaluate the performance of five state-of-the-art partitioning algorithms that can be used within PLUM. It is shown that for certain classes of unsteady adaption, globally repartitioning the computational mesh produces higher quality results than diffusive repartitioning schemes. We also demonstrate that a coarse starting mesh produces high quality load balancing, at a fraction of the cost required a fine initial mesh. Results indicate that our parallel load balancing strategy will remain viable on large numbers of processors.

Oliker, Leonid↗

Software Quality Assurance for High Performance Computing Containers

Software containers are a key channel for delivering portable and reproducible scientific software in high performance computing (HPC) environments. HPC environments are different from other types of computing environments primarily due to usage of the message passing interface (MPI) and drivers for specialized hard- ware to enable distributed computing capabilities. This distinction directly impacts how software containers are built for HPC applications and can complicate software quality assurance efforts including portability and performance. This work introduces a strategy for building containers for HPC applications that adopts layering as a mechanism for software quality assurance. The strategy is demonstrated across three different HPC systems, two of them petaflops scale with entirely different interconnect technologies and/or processor chipsets but running the same container. Performance consequences of the containerization strategy are found to be less than 5-14% while still achieving portable and reproducible containers for HPC systems.

97 MATHEMATICS AND COMPUTING↗

CG-Kit: Code Generation Toolkit for performant and maintainable variants of source code applied to Flash-X hydrodynamics simulations

CG-Kit is a new Code Generation tool-Kit that we have developed as a part of the solution for portability and maintainability for multiphysics computing applications. The development of CG-Kit is rooted in the urgent need created by the shifting landscape of high-performance computing platforms and the algorithmic complexities of a particular large-scale multiphysics application: Flash-X. To efficiently use computing resources on a heterogeneous node, an application must have a map of computation to resources and a mechanism to move the data and computation to the resources according to the map. Most existing performance portability solutions are focussed on abstracting the expression of computations so that a unified source code can be specialized to run on different resources. However, such an approach is insufficient for a code like Flash-X, which has a multitude of code components that can be assembled in various permutations and combinations to form different instances of applications. Similar challenges apply to any code that has composability, where a single specified way of apportioning work among devices may not be optimal. Additionally, use cases arise where the optimal control flow of computation may differ for different devices while the underlying numerics remain identical. This combination leads to unique challenges including handling an existing large code base in Fortran and/or C/C++, subdivision of code into a great variety of units supporting a wide range of physics and numerical methods, different parallelization techniques for distributed and shared memory systems and accelerator devices, and heterogeneity of computing platforms requiring coexisting variants of parallel algorithms. All of these challenges demand that scientific software developers apply existing knowledge about domain applications, algorithms, and computing platforms to determine custom abstractions and granularity for code generation. There is a critical lack of tools to tackle those problems. CG-Kit is designed to fill this gap by providing a user with the ability to express their desired control flow and computation-to-resource map in the form a pseudocode-like recipe. It consists of standalone tools that can be combined into highly specific and, we argue, highly effective portability and maintainability toolchains. Here we present the design of our new tools: parametrized source trees, control flow graphs, and recipes. The tools are implemented in Python. They are agnostic to the programming language of the source code targeted for code generation. In conclusion, we demonstrate the capabilities of the toolkit with two examples, first, multithreaded variants of the basic AXPY operation, and second, variants of parallel algorithms within a hydrodynamics solver, called Spark, from Flash-X that operates on block-structured adaptive meshes.

Algorithmic portability↗