Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “performance tuning”

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

SciDAC3 SUPER Performance Institute, University of Oregon Contributions (Final Report)

The SciDAC-3 Institute for Sustained Performance, Energy, and Resilience (SUPER) focused on developing technology and leveraging expertise towards ensuring that computational scientists could successfully exploit existing and emerging DOE high performance computing systems. To achieve this goal, SUPER was organized into research thrusts focusing on performance engineering, auto-tuning, performance tools, energy efficiency, resilience and multi-objective optimization, with a target of facilitating effective utilization of near term HPC systems. As described in this summary document, our teams’ significant insights into both application- and architecture-awareness drove numerous innovations across our stated research areas, while significantly improving the performance, portability, and functionality of numerous SciDAC partnership applications, enabling scientific simulation at unprecedented scale. Additionally, the tools, methodologies, and collaborations developed under this project will continue paying dividends as we face the challenges of forthcoming multi-petascale and exascale computing technologies.

97 MATHEMATICS AND COMPUTING↗

Tuning the Performance of a Computational Persistent Homology Package

In recent years, persistent homology has become an attractive method for data analysis. It captures topological features, such as connected components, holes, and voids from point cloud data and summarizes the way in which these features appear and disappear in a filtration sequence. In this project, we focus on improving the performanceof Eirene, a computational package for persistent homology. Eirene is a 5000-line open-source software library implemented in the dynamic programming language Julia. We use the Julia profiling tools to identify performance bottlenecks and develop novel methods to manage them, including the parallelization of some time-consuming functions on multicore/manycore hardware. Empirical results show that performance can be greatly improved.

Persistent Homology↗

RF performance sensitivity to tuning of Nb3Sn coated CEBAF cavities

Nb3Sn has the potential to surpass niobium as the material of choice for SRF applications. The potential of this material stems from a larger superconducting energy gap, which leads to expectations of a higher RF critical field and a lower RF surface resistance. The appeal of better superconducting properties is offset by the relative complexity of producing practical Nb3Sn structures, and Nb3Sn sensitivity to lattice disorder challenges the use of the material for practical applications. Such sensitivity is indirectly probed during SRF cavity development, when the cavity is tuned to match the desired accelerator frequency. In the course of recent experiments we have coated and tuned several multi-cell cavities. Cold RF measurements before and after tuning showed degradation in cavity performance after tuning. The results of RF measurement were compared against strain evolution on Nb3Sn surface during tuning based on CST and ANSYS models.

Eremeev, G. V.↗

Production Application Performance Data Streaming for System Monitoring

In this article, we present an approach to streaming collection of application performance data. Practical application performance tuning and troubleshooting in production high-performance computing (HPC) environments requires an understanding of how applications interact with the platform, including (but not limited to) parallel programming libraries such as Message Passing Interface (MPI). Several profiling and tracing tools exist that collect heavy runtime data traces either in memory (released only at application exit) or on a file system (imposing an I/O load that may interfere with the performance being measured). Although these approaches are beneficial in development stages and post-run analysis, a systemwide and low-overhead method is required to monitor deployed applications continuously. This method must be able to collect information at both the application and system levels to yield a complete performance picture. In our approach, an application profiler collects application event counters. A sampler uses an efficient inter-process communication method to periodically extract the application counters and stream them into an infrastructure for performance data collection. We implement a tool-set based on our approach and integrate it with the Lightweight Distributed Metric Service (LDMS) system, a monitoring system used on large-scale computational platforms. LDMS provides the infrastructure to create and gather streams of performance data in a low overhead manner. We demonstrate our approach using applications implemented with MPI, as it is one of the most common standards for the development of large-scale scientific applications. We utilize our tool-set to study the impact of our approach on an open source HPC application, Nalu. Our tool-set enables us to efficiently identify patterns in the behavior of the application without source-level knowledge. We leverage LDMS to collect system-level performance data and explore the correlation between the system and application events. Finally, we demonstrate how our tool-set can help detect anomalies with a low latency. We run tests on two different architectures: a system enabled with Intel Xeon Phi and another system equipped with Intel Xeon processor. Our overhead study shows our method imposes at most 0.5% CPU usage overhead on the application in realistic deployment scenarios.

59 BASIC BIOLOGICAL SCIENCES↗

Performance Debugging and Tuning of Flash-X with Data Analysis Tools

State-of-the-art multiphysics simulations running on large scale leadership computing platforms have many variables contributing to their performance and scaling behavior. We recently encountered an interesting performance anomaly in Flash-X, a multiphysics multicomponent simulation software, when characterizing its performance behavior on several large-scale HPC platforms. The anomaly was tracked down to the interaction between the use of dynamic allocation of scratch data and data locality in the cache hierarchy. In this paper we present the details of unexpected performance variability of Flash-X, its extensive analysis using the performance measurement tool TAU to collect the data and Python data analysis libraries to explore the data, and our insights from this experience. In this process, we discovered and removed or mitigated two additional performance limiting bottlenecks for performance tuning.

Huck, Kevin↗

Developing Ultrahigh-Resolution E3SM Land Model for GPU Systems

Designing and refactoring complex scientific code, such as the E3SM land model (ELM), for new computing architectures is challenging. This paper presents design strategies and technical approaches to develop a data-oriented, GPU-ready ELM model using compiler directives (OpenACC/OpenMP). We first analyze the datatypes and processes in the original ELM code. Then we present design considerations for ultrahigh-resolution ELM (uELM) development for massive GPU systems. These techniques include the global data-oriented simulation workflow, domain partition, code porting and data copy, memory reduction, parallel loop restructure and flattening, and race condition detection. We implemented the first version of uELM using OpenACC targeting the NVidia GPUs in the Summit supercomputer at Oak Ridge National Laboratory. During the implementation, we developed a software tool (named SPEL) to facilitate code generation, verification, and performance tuning using these techniques. The first uELM implementation for Nvidia GPUs on Summit delivered promising results: 1) over 98% of the ELM code was automatically generated and tuned by scripts. Most ELM modules had better computational performances than the original ELM code for CPUs. The GPU-ready uELM is more scalable than the CPU code on fully-loaded Summit nodes. Example profiling results from several modules are also presented to illustrate the performance improvements and race condition detection. The lessons learned and toolkit developed in the study are also suitable for further uELM deployment using OpenMP on the first US exascale computer, Frontier, equipped with AMD CPUs and GPUs.

Schwartz, Peter↗

Managing code transformations for better performance portability

Code optimization is an intricate task that is getting more complex as computing systems evolve. Managing the program optimization process, including the implementation and evaluation of code variants, is tedious, inefficient, and errors are likely to be introduced in the process. Moreover, because each platform typically requires a different sequence of transformations to fully harness its computing power, the optimization process complexity grows as new platforms are adopted. To address these issues, systems and frameworks have been proposed to automate the code optimization process. They, however, have not been widely adopted and are primarily used by experts with deep knowledge about underlying architecture and compiler intricacies. This article describes the requirements that we believe necessary for making automatic performance tuning more broadly used, especially in complex, long-lived high-performance computing applications. Besides discussing limitations of current systems and strategies to overcome these, we describe the design of a system that is able to semi-automatically generate efficient platform-specific code. In the proposed system, the code optimization is programmer-guided, separately from application code, on an external file in what we call optimization programming. The language to program the optimization process is able to represent complex collections of transformations and, as a result, generate efficient platform-specific code. A database manages different optimized versions of code regions, providing a pragmatic approach to performance portability, and the framework itself has separate components, allowing the optimized code to be used on systems without installing all of the modules required for the code generation. We present experiments on two different platforms to illustrate the generation of efficient platform-specific code that performs comparable to hand-optimized, vendor-provided code.

Computer Science↗

I/O Access Patterns in HPC Applications: A 360-Degree Survey

The high-performance computing I/O stack has been complex due to multiple software layers, the inter-dependencies among these layers, and the different performance tuning options for each layer. In this complex stack, the definition of an “I/O access pattern” has been reappropriated to describe what an application is doing to write or read data from the perspective of different layers of the stack, often comprising a different set of features. It has become common to have to redefine what is meant when discussing a pattern in every new study, as no assumption can be made. This survey aims to propose a baseline taxonomy, harnessing the I/O community’s knowledge over the past 20 years. This definition can serve as a common ground for high-performance computing I/O researchers and developers to apply known I/O tuning strategies and design new strategies for improving I/O performance. We seek to summarize and bring a consensus to the multiple ways to describe a pattern based on common features already used by the community over the years.

97 MATHEMATICS AND COMPUTING↗

Matrix Multiply Performance of GPUs on Exascale-class HPE/Cray Systems

The computation of dense matrix-matrix products (GEMMs) is central to many modeling and simulation workloads as well as AI/ML deep learning campaigns. In fact, millions of dollars are spent annually on computing GEMMs, and large model training demands are increasing exponentially. Specialized processors such as GPUs are designed to perform well for these operations. However, the performance of GEMMs on GPUs can exhibit complex behaviors depending on many factors, making it challenging to optimize the performance of GEMMs on these processors. In this study we undertake an examination of GEMM performance on several leading GPU models taken from product lines of GPUs to be deployed in forthcoming exascale computing systems. We show results to illustrate the many factors that can affect performance of GEMMs on GPUs. We then present data collected from a large number of test runs for an example GEMM operation to show the dependence behaviors of GEMM rate on matrix dimensions. Finally, we show results from machine learning-based performance models using novel feature engineering methods to fit the measured performance, providing a potential basis for GEMM performance tuning and autotuning methods for GPUs. Recommendations are also given for how to achieve high GEMM performance on modern GPUs.

Melesse Vergara, Veronica↗

A Broadband Mechanically Tuned Superconducting Cavity Design Suitable for the Fermilab Main Injector

Radio Frequency superconductivity has been a mainstay of accelerator science for decades. However, its benefits have yet to be applied to proton synchrotrons with demanding tuning requirements. For example, the Main Injector (MI), Fermilab's high-energy proton synchrotron, currently utilizes 20+ ferrite-loaded cavities for a targeted 1.2 s acceleration cycle. Harnessing the extremely high gradients associated with superconductivity, the required number of cavities could be reduced by an order of magnitude, dramatically lowering operational power requirements even with cryogenic considerations. Additionally, the current plans for the Fermilab accelerator complex evolution initiative involve almost doubling the number of cavities in MI if the same designs are to be used, further highlighting the potential benefits of superconductivity. These advantages are attractive, but to date, no tunable superconducting cavity suitable for MI has been proposed due to the incompatibility of conventional broadband tuning methods with superconductivity. Here, we present a tunable superconducting cavity concept capable of record-breaking performance. Tuning will be accomplished by using high-speed linear actuators to vary the insertion depth of metallic plungers into the cavity volume. This tuning concept is theoretically viable with currently available technology and will be fully compatible with a superconducting cavity.

43 PARTICLE ACCELERATORS↗

A Mechanically Tuned Superconducting Main Injector Cavity

Radio Frequency (RF) superconductivity has been a mainstay of accelerator science for decades. However, its benefits have yet to be applied to proton synchrotrons with demanding tuning requirements. For example, the Main Injector (MI), Fermilab's high-energy proton synchrotron, currently utilizes 20+ ferrite-loaded cavities for a targeted 1.2 s acceleration cycle. Harnessing the extremely high gradients associated with superconductivity, the required number of cavities could be reduced by an order of magnitude, dramatically lowering operational power requirements even with cryogenic considerations. Additionally, the current plans for the Fermilab Accelerator Complex Evolution (ACE) initiative involve almost doubling the number of cavities in MI if the same designs are to be used, further highlighting the potential benefits of superconductivity. These advantages are attractive, but to date, no tunable superconducting cavity suitable for MI has been proposed due to the incompatibility of conventional broadband tuning methods with superconductivity. Here, we present a tunable superconducting cavity concept capable of record-breaking performance. Tuning will be accomplished by using high-speed linear actuators to vary the insertion depth of metallic plungers into the cavity volume. This tuning concept is theoretically viable with currently available technology and will be fully compatible with a superconducting cavity.

43 PARTICLE ACCELERATORS↗

COOP 3D ARPA Experiment 109 National Center for Atmospheric Research

Coupled atmospheric and hydrodynamic forecast models were executed on the supercomputing resources of the National Center for Atmospheric Research (NCAR) in Boulder, Colorado and the Ohio Supercomputing Center (OSC)in Columbus, Ohio. respectively. The interoperation of the forecast models on these geographically diverse, high performance Cray platforms required the transfer of large three dimensional data sets at very high information rates. High capacity, terrestrial fiber optic transmission system technologies were integrated with those of an experimental high speed communications satellite in Geosynchronous Earth Orbit (GEO) to test the integration of the two systems. Operation over a spacecraft in GEO orbit required modification of the standard configuration of legacy data communications protocols to facilitate their ability to perform efficiently in the changing environment characteristic of a hybrid network. The success of this performance tuning enabled the use of such an architecture to facilitate high data rate, fiber optic quality data communications between high performance systems not accessible to standard terrestrial fiber transmission systems. Thus obviating the performance degradation often found in contemporary earth/satellite hybrids.

Source record↗

Scalable Performance Environments for Parallel Systems

As parallel systems expand in size and complexity, the absence of performance tools for these parallel systems exacerbates the already difficult problems of application program and system software performance tuning. Moreover, given the pace of technological change, we can no longer afford to develop ad hoc, one-of-a-kind performance instrumentation software; we need scalable, portable performance analysis tools. We describe an environment prototype based on the lessons learned from two previous generations of performance data analysis software. Our environment prototype contains a set of performance data transformation modules that can be interconnected in user-specified ways. It is the responsibility of the environment infrastructure to hide details of module interconnection and data sharing. The environment is written in C++ with the graphical displays based on X windows and the Motif toolkit. It allows users to interconnect and configure modules graphically to form an acyclic, directed data analysis graph. Performance trace data are represented in a self-documenting stream format that includes internal definitions of data types, sizes, and names. The environment prototype supports the use of head-mounted displays and sonic data presentation in addition to the traditional use of visual techniques.

Reed, Daniel A.↗

Remote Sensing of Rain

The first problem addressed concerns passive-microwave rain retrievals. Most current approaches start by building off-line a cloud-model-derived database. Given data, the retrieval algorithms search the database for the microwave temperatures "closest" to the observed data, then after some fine-tuning (performed in different ways by different implementations) the rain is estimated to be that which corresponds to the selected (and fine-tuned) set of database temperatures. These approaches have three drawbacks: they cannot properly take into account the ambiguities which arise from the fact that several rain scenarios can produce the same observed temperatures; they are quite inefficient since they require manipulating a large database along with often complex "fine-tuning" procedures; and they cannot refine their estimates if additional data is available. This past year we have derived closed formulae relating observed microwave brightness temperatures, T(sub b), and the underlying rain rates, R: average T(sub b) =f (rain) and average rain = g (T(sub b)), along with the corresponding covariance matrices. These results are sufficient to describe the conditional probabilities p(R/T(sub b)) and p(T(sub b)/R) to second order. Progress has also been made towards deriving a robust description of the rain drop size distribution (DSD). The widespread approach consisting in parameterizing the DSD as a gamma-distribution in terms of the drop diameter D suffers from the facts that, in reality, the DSD is not a smooth function of D and that the largely arbitrary Gamma model imposes unintended behavior, which has implications on any quantities derived from the DSD model. We have therefore developed a non-parametric yet practical description of the DSD, which is particularly well-suited for use in remote-sensing applications. The diagram on the left shows a comparison between an actual DSD sample and the truncated non-parametric representation. One figure shows the relation between radar reflectivity and rain rate derived using this representation. Validation of the Tropical Rainfall Measuring Mission (TRMM) radar-radiometer combined R and DSD algorithm is underway. This algorithm was designed to make optimal use of the instantaneous reflectivity profiles measured by the TRMM radar and the microwave brightness temperatures measured by the TRMM passive radiometer. So far, it appears to be the most reliable TRMM rain algorithm.

Haddad, Ziad S.↗

Analytical Performance Modeling and Validation of Intel’s Xeon Phi Architecture

Modeling the performance of scientific applications on emerging hardware plays a central role in achieving extreme-scale computing goals. Analytical models that capture the interaction between applications and hardware characteristics are attractive because even a reasonably accurate model can be useful for performance tuning before the hardware is made available. In this paper, we develop a hardware model for Intel’s second-generation Xeon Phi architecture code-named Knights Landing (KNL) for the SKOPE framework. We validate the KNL hardware model by projecting the performance of mini-benchmarks and application kernels. The results show that our KNL model can project the performance with prediction errors of 10% to 20%. The hardware model also provides informative recommendations for code transformations and tuning.

97 MATHEMATICS AND COMPUTING↗