Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Compiler Optimization”

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 181 records · Page 10

Optimized thermodynamic properties of REE aqueous species (REE 3+ and REEOH 2+ ) and experimental database for modeling the solubility of REE phosphate minerals (monazite, xenotime, and rhabdophane) from 25 to 300 °C

Rare earth elements (REE) are critical elements found in monazite, xenotime, and hydrated REE phosphates which typically form in hydrothermal mineral deposits. Accurate predictions of the solubility of these REE phosphates and the speciation of REE in aqueous fluids are both key to understanding the controls on the transport, fractionation, and deposition of REE in natural systems. Previous monazite and xenotime solubility experiments indicate the presence of large discrepancies between experimentally derived solubility constants versus calculated solubilities by combining different data sources for the thermodynamic properties of minerals and aqueous species at hydrothermal conditions. In this study, these discrepancies were resolved by using the program GEMSFITS to optimize the standard partial molal Gibbs energy of formation (Δ f G° 298 ) of REE aqueous species (REE 3+ and REE hydroxyl complexes) at 298.15 K and 1 bar while keeping the thermodynamic properties fixed for the REE phosphates. A comprehensive experimental database was compiled using solubility data available between 25 and 300 °C. The latter permits conducting thermodynamic parameter optimization of Δ f G° 298 for REE aqueous species. Optimal matching of the rhabdophane solubility data between 25 and 100 °C requires modifying the Δ f G° 298 values of REE 3+ by 1–6 kJ/mol, whereas matching of the monazite solubility data between 100 and 300 °C requires modifying the Δ f G° 298 values of both REE 3+ and REEOH 2+ by ~15–31 kJ/mol and ~2–10 kJ/mol, respectively. For xenotime, adjustments of Δ f G° 298 values by 1–26 kJ/mol are only necessary for the REE 3+ species. The optimizations indicate that the solubility of monazite in acidic solutions is controlled by the light (L)REE 3+ species at <150 °C and the LREEOH 2+ species at >150 °C, whereas the solubility of xenotime is controlled by the heavy (H)REE 3+ species between 25 and 300 °C. Based on the optimization results, we conclude that the revised Helgeson-Kirkham-Flowers equation of state does not reliably predict the thermodynamic properties of REE 3+ , REEOH 2+ , and likely other REE hydroxyl species at hydrothermal conditions. We therefore provide an experimental database (ThermoExp_REE) as a basic framework for future updates, extensions with other ligands, and optimizations as new experimental REE data become available. As a result, the optimized thermodynamic properties of aqueous species and minerals are available open access to accurately predict the solubility of REE phosphates in fluid-rock systems.

58 GEOSCIENCES↗

A combined experimental and computational thermodynamic investigation of the U-Th-O system

Here, the thermodynamics of the U–Th–O system have been assessed using the Calphad method. The compound energy formalism (CEF) and a partially ionic two-sublattice liquid model (TSLM) were used for the fluorite U 1–y Th y O 2±x , γ-(U,Th) 4 O 9 , and the U–Th–O melt. The O 2 activity of fluorite U 1–y Th y O 2±x with temperature and composition was determined by thermogravimetric analysis. Thermodynamic studies for the Th–O binary and U–Th–O ternary available in the open literature were critically reviewed. A self-consistent data set was selected and compiled with the equilibrium oxygen pressures determined by thermogravimetry in order to optimize the adjustable parameters of models selected to represent the phases in the Th–O and U–Th–O systems.

36 MATERIALS SCIENCE↗

Software Defined Architectures for Portability and Performance

The Software Defined Architectures for Portability and Performance (SODAPOP) project developed a co-design framework to partition and map converged applications on specialized heterogeneous architectures. We started from key domain applications that combine scientific simulation with data analytics and machine learning as drivers to integrate our framework. The framework includes high-level compilers that interfaces with high-level programming frameworks, domain-specific optimization passes, and hardware-oriented optimizations. The framework leverages hardware generators to enable specialization and facilitate exploration of custom system designs.

97 MATHEMATICS AND COMPUTING↗

Profile Generation for GPU Targets

GPU accelerators are ubiquitous, but their ecosystem is far less evolved than the host one. Compiler heuristics are often tuned for CPUs and reused for GPU. Similarly, tooling and more evolved optimization techniques are historically not available on GPU targets. In this work, we address one of these shortcomings and enable profile generation and profile-guided optimizations (PGO) for GPU targets. While this is only a single step towards a CPU equivalent ecosystem for offload devices, it shows how old misconceptions on the limitations of GPUs are often not warranted anymore. Through our implementation in LLVM/Offload, we enable device-side PGO for full scientific applications and open up tooling opportunities, including code coverage analysis and compiler-built-in roofline analysis. Our evaluation highlights the performance implications of profile generation, the insights gained from these profiles, and the (missed) opportunities in utilizing the information for GPU compilation.

McDonough, Ethan Luis [Lawrence Livermore National↗

Final report: Compiled MPI. Cost-Effective Exascale Application Development

This is the final report on Compiled MPI: Cost-Effective Exascale Application Development, and summarizes the results under this project. The project investigated runtime enviroments that improve the performance of MPI (Message-Passing Interface) programs; work at Illinois in the last period of this project looked at optimizing data access optimizations expressed with MPI datatypes.

97 MATHEMATICS AND COMPUTING↗

Universal Compiling and (No-)Free-Lunch Theorems for Continuous-Variable Quantum Learning

Quantum compiling, where a parameterized quantum circuit is trained to learn a target unitary, is an important primitive for quantum computing that can be used as a subroutine to obtain optimal circuits or as a tomographic tool to study the dynamics of an experimental system. While much attention has been paid to quantum compiling on discrete-variable hardware, less has been paid to compiling in the continuous-variable paradigm. Here we motivate several, closely related, short-depth continuous-variable algorithms for quantum compilation. We analyze the trainability of our proposed cost functions and numerically demonstrate our algorithms by learning arbitrary Gaussian operations and Kerr nonlinearities. We further make connections between this framework and quantum learning theory in the continuous-variable setting by deriving no-free-lunch theorems. These generalization bounds demonstrate a linear resource reduction for learning Gaussian unitaries using entangled coherent-Fock states and an exponential resource reduction for learning arbitrary unitaries using two-mode-squeezed states.

97 MATHEMATICS AND COMPUTING↗

Portability for GPU-accelerated molecular docking applications for cloud and HPC: can portable compiler directives provide performance across all platforms?

High-throughput structure-based screening of drug-like molecules has become a common tool in biomedical research. Recently, acceleration with graphics processing units (GPUs) has provided a large performance boost for molecular docking programs. Both cloud and high-performance computing (HPC) resources have been used for large screens with molecular docking programs; while NVIDIA GPUs have dominated cloud and HPC resources, new vendors such as AMD and Intel are now entering the field, creating the problem of software portability across different GPUs. Ideally, software productivity could be maximized with portable programming models that are able to maintain high performance across architectures. While in many cases compiler directives have been used as an easy way to offload parallel regions of a CPU-based program to a GPU accelerator, they may also be an attractive programming model for providing portability across different GPU vendors, in which case the porting process may proceed in the reverse direction: from low-level, architecture-specific code to higher-level directive-based abstractions. MiniMDock is a new mini-application (miniapp) designed to capture the essential computational kernels found in molecular docking calculations, such as are used in phar-maceutical drug discovery efforts, in order to test different solutions for porting across GPU architectures. Here we extend MiniMDock to GPU offloading with OpenMP directives, and compare to performance of kernels using CUDA and HIP on NVIDIA and AMD GPUs, respectively, as well as across different compilers, exploring performance bottlenecks. We document this reverse-porting process, from highly optimized device code to a higher-level version using directives, compare code structure, and describe barriers that were overcome in this effort.

Thavappiragasam, Mathialakan↗

Feed the fish: A review of aquaculture feeders and their strategic implementation

Automatic feeders are revolutionizing aquaculture by enabling precise and controlled feeding regimens that optimize growth, reduce feed waste, and enhance the overall efficiency of farming operations. Demand feeders provide some similar benefits but with feeding tailored to fish appetites and, in some cases, feed dispersal without electricity. This review explores the evolution, technological advancements, and applications of these feeders with a survey of recent research. It looks at common feeder designs and compares the pros and cons of five automatic feeder configurations in commercial use today. The article contrasts feeders and feed sizes for farmed species in different life stages and facilities, from hatcheries to ponds and offshore cages. It discusses the importance of species-tailored feeding strategies as well as impacts on fish behavior and health, nutrient delivery, and environmental sustainability. Incorporating sensors and on-site computing enables optimization in feeding algorithms that feeders then implement precisely and reliably. The review compiles results from multiple studies comparing growth rate, weight, and feed conversion ratio (FCR) outcomes from automatic feeders and demand feeders versus traditional hand-feeding regimens. The integration of feeders with real-time monitoring and data analytics is also discussed, highlighting future directions for research and adoption across the industry.

42 ENGINEERING↗

Helium: lifting high-performance stencil kernels from stripped x86 binaries to halide DSL code

Highly optimized programs are prone to bit rot, where performance quickly becomes suboptimal in the face of new hardware and compiler techniques. In this paper we show how to automatically lift performance-critical stencil kernels from a stripped x86 binary and generate the corresponding code in the high-level domain-specific language Halide. Using Halide's state-of-the-art optimizations targeting current hardware, we show that new optimized versions of these kernels can replace the originals to rejuvenate the application for newer hardware. The original optimized code for kernels in stripped binaries is nearly impossible to analyze statically. Instead, we rely on dynamic traces to regenerate the kernels. We perform buffer structure reconstruction to identify input, intermediate and output buffer shapes. Here, we abstract from a forest of concrete dependency trees which contain absolute memory addresses to symbolic trees suitable for high-level code generation. This is done by canonicalizing trees, clustering them based on structure, inferring higher-dimensional buffer accesses and finally by solving a set of linear equations based on buffer accesses to lift them up to simple, high-level expressions. Helium can handle highly optimized, complex stencil kernels with input-dependent conditionals. We lift seven kernels from Adobe Photoshop giving a 75 % performance improvement, four kernels from Irfan View, leading to 4.97 x performance, and one stencil from the mini GMG multigrid benchmark netting a 4.25 x improvement in performance. We manually rejuvenated Photoshop by replacing eleven of Photoshop's filters with our lifted implementations, giving 1.12 x speedup without affecting the user experience.

97 MATHEMATICS AND COMPUTING↗

Performance of an Astrophysical Radiation Hydrodynamics Code under Scalable Vector Extension Optimization

We present results of a performance study of an astrophysical radiation hydrodynamics code, V2D, on the Arm-based A64FX processor developed by Fujitsu. The code solves sparse linear systems, a task for which the A64FX architecture should be well suited. Here, we performed the performance analysis study on Ookami, an Apollo 80 platform utilizing the A64FX processor. We explored several compilers and performance anal-ysis packages and found the code did not perform as expected under scalable vector extension optimization, suggesting that a “deeper dive” into analyzing the code is worthwhile. However, a simple driver program that exercised basic sparse linear algebra routines used by V2D did show significant speedup with the use of the scalable vector extension optimization. We present the initial results from the study which used V2D on a relatively simple test problem that emphasized the repeated solution of sparse linear systems.

79 ASTRONOMY AND ASTROPHYSICS↗

Manage OpenMP GPU Data Environment Under Unified Address Space

OpenMP has supported the offload of computations to accelerators such as GPUs since version 4.0. A crucial aspect in OpenMP offloading is to manage the accelerator data environment. Currently, this has to be explicitly programmed by users, which is non-trival and often results in suboptimal performance. The unified memory feature available in recent GPU architectures introduces another option, implicit management. However, our experiments show that it incurs several performance issues, especially under GPU memory oversubscription. In this paper, we propose a compiler and runtime collaborative approach to manage OpenMP GPU data under unified memory. In our framework, the compiler performs data reuse analysis to assist runtime data management. The runtime combines static and dynamic information to make optimized data management decisions.We have implement the proposed technology in the LLVM framework. The evaluation shows our method can achieve significant performance improvement for OpenMP GPU offloading.

97 MATHEMATICS AND COMPUTING↗

Solution-Based, Anion-Doping of Li 4 Ti 5 O 12 Nanoflowers for Lithium-Ion Battery Applications

Solution–based, anionic doping represents a convenient strategy with which to improve upon the conductivity of candidate anode materials such as Li 4 Ti 5 O 12 (LTO). As such, novel synthetic hydrothermally–inspired protocols have primarily been devised herein, aimed at the large–scale production of unique halogen–doped, micron–scale, three–dimensional, hierarchical LTO flower–like motifs. Although fluorine (F) doping has been explored, the use of chlorine (Cl) dopants is the primary focus here. Several experimental variables, such as dopant amount, lithium hydroxide concentration, and titanium butoxide purity, were probed and perfected. Furthermore, the Cl doping process did not damage the intrinsic LTO morphology. The analysis, based on interpreting a compilation of SEM, XRD, XPS, and TEM–EDS results, was used to determine an optimized dopant concentration of Cl. Electrochemical tests demonstrated an increased capacity via cycling of 12 % for a Cl–doped sample as compared with pristine LTO. Moreover, the Cl–doped LTO sample described in this study exhibited the highest discharge capacity yet reported at an observed rate of 2C for this material at 143mAh g –1 . Overall, these data suggest that the Cl dopant likely enhances not only the ion transport capabilities, but also the overall electrical conductivity of our as–prepared structures. Furthermore, to help explain these favorable findings, theoretical DFT calculations were used to postulate that the electronic conductivity and Li diffusion were likely improved by the presence of increased Ti 3+ ion concentration coupled with widening of the Li migration channel.

25 ENERGY STORAGE↗

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↗

Potential Ideas for an El Capitan Center of Excellence (COE) Around Intelligent Simulation

Proposing a Center of Excellence under the CORAL-2 NRE is a mandatory requirement. The current Sierra COE (CORAL-1) is largely focused on helping LLNL applications make the disruptive transition to a heterogeneous GPU-based system by 2018. We expect a continuation of COE activities around optimizing our broad and diverse application base (of so-called “traditional” simulation codes) optimized for the El Capitan architecture, as well as supporting the underlying software stack (compilers, tools, programming models, etc.) – but do not expect this to require as much effort in the El Capitan COE (assuming a heterogeneous node architecture). What follows are some thoughts on 3 potential topics of interest for an El Capitan COE at LLNL – largely focused around AI and machine learning and the concept of advancing our goal of intelligent simulation or cognitive computing in the timeframe of deployment and production use of El Capitan (2023-2038). We believe vendor engagement through a COE in this area will provide a natural point-of-interest between LLNL and our vendor partner for common advancement of machine learning capabilities focused on scientific data – potentially greatly broadening the ecosystem around HPC architectures and the supporting software stack for scientific simulation-based AI.

97 MATHEMATICS AND COMPUTING↗

DOE Express Quantum Computing Application Teams (QCAT FY20 Report)

The QCOR project consists of 4 main research tasks: 1) scientific applications and algorithm development for machine learning (ML) and quantum theories of condensed matter systems and lattice gauge theories; 2) high-level quantum-classical (HLQC) language and domain specific language (DSL) development; 3) compiler and interfaces development for the HLQC language; and 4) hardware-level control, optimization, and algorithms libraries. In the succeeding sections we report on progress towards our research tasks during the 2020 calendar year.

75 CONDENSED MATTER PHYSICS, SUPERCONDUCTIVITY AND↗

Applications of Artificial Intelligence to Radar

In this report, we survey the current intersection between the fields of radar technology and artificial intelligence. Three main areas are highlighted - synthetic aperture radar automatic target detection, waveform optimization, and antenna design. Literature relevant to these applications and beyond are discussed and compiled in an annotated bibliography.

47 OTHER INSTRUMENTATION↗

Regenerator design optimization: Results from REGEN 3.3

The results from an extensive parametric study using the most recent version of the regenerator design software tool, REGEN3.3, are presented. By compiling the results from more than 10,000 applications of REGEN3.3 for three different temperatures (35 K, 60 K and 80 K), a wide range of frequencies (30–300 Hz), and a variety of regenerator length, inverse mass flux, and cold end phase angles, a group of performance maps have been generated that will enable regenerator optimization without having to learn REGEN3.3. Optimum results, defined by maximum COP values, are also provided in the form of a convenient correlation whereby the COP can be calculated directly from chosen values of cold end temperature, frequency, inverse mass flux, length, and cold end phase angle. Here one of the more interesting results revealed by this study is that the optimum value of COP is very broad. That is, changes by as much as 15% to 20% in the length, inverse mass flux, or cold end phase away from their optimized values degrade the COP by only 2%.

42 ENGINEERING↗

Roofline Analysis in the Intel® Advisor to Deliver Optimized Performance for applications on Intel® Xeon Phi™ Processor

In this session we show, in two case studies, how the roofline feature of Intel Advisor has been utilized to optimize the performance of kernels of the XGC1 and PICSAR codes in preparation for Intel Knights Landing architecture. The impact of the implemented optimizations and the benefits of using the automatic roofline feature of Intel Advisor to study performance of large applications will be presented. This demonstrates an effective optimization strategy that has enabled these science applications to achieve up to 4.6 times speed-up and prepare for future exascale architectures. # Goal/Relevance of Session The roofline model [1,2] is a powerful tool for analyzing the performance of applications with respect to the theoretical peak achievable on a given computer architecture. It allows one to graphically represent the performance of an application in terms of operational intensity, i.e. the ratio of flops performed and bytes moved from memory in order to guide optimization efforts. Given the scale and complexity of modern science applications, it can often be a tedious task for the user to perform the analysis on the level of functions or loops to identify where performance gains can be made. With new Intel tools, it is now possible to automate this task, as well as base the estimates of peak performance on measurements rather than vendor specifications. The goal of this session is to demonstrate how the roofline feature of Intel Advisor can be used to balance memory vs. computation related optimization efforts and effectively identify performance bottlenecks. A series of typical optimization techniques: cache blocking, structure refactoring, data alignment, and vectorization illustrated by the kernel cases will be addressed. # Description of the codes ## XGC1 The XGC1 code [3] is a magnetic fusion Particle-In-Cell code that uses an unstructured mesh for its Poisson solver that allows it to accurately resolve the edge plasma of a magnetic fusion device. After recent optimizations to its collision kernel [4], most of the computing time is spent in the electron push (pushe) kernel, where these optimization efforts have been focused. The kernel code scaled well with MPI+OpenMP but had almost no automatic compiler vectorization, in part due to indirect memory addresses and in part due to low trip counts of low-level loops that would be candidates for vectorization. Particle blocking and sorting have been implemented to increase trip counts of low-level loops and improve memory locality, and OpenMP directives have been added to vectorize compute-intensive loops that were identified by Advisor. The optimizations have improved the performance of the pushe kernel 2x on Haswell processors and 1.7x on KNL. The KNL node-for-node performance has been brought to within 30% of a NERSC Cori phase I Haswell node and we expect to bridge this gap by reducing the memory footprint of compute intensive routines to improve cache reuse. ## PICSAR is a Fortran/Python high-performance Particle-In-Cell library targeting at MIC architectures first designed to be coupled with the PIC code WARP for the simulation of laser-matter interaction and particle accelerators. PICSAR also contains a FORTRAN stand-alone kernel for performance studies and benchmarks. A MPI domain decomposition is used between NUMA domains and a tile decomposition (cache-blocking) handled by OpenMP has been added for shared-memory parallelism and better cache management. The so-called current deposition and field gathering steps that compose the PIC time loop constitute major hotspots that have been rewritten to enable more efficient vectorization. Particle communications between tiles and MPI domain has been merged and parallelized. All considered, these improvements provide speedups of 3.1 for order 1 and 4.6 for order 3 interpolation shape factors on KNL configured in SNC4 quadrant flat mode. Performance is similar between a node of cori phase 1 and KNL at order 1 and better on KNL by a factor 1.6 at order 3 with the considered test case (homogeneous thermal plasma).

97 MATHEMATICS AND COMPUTING↗