Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “code 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 163 records · Page 9

MPQC: Performance Analysis and Optimization

MPQC (Massively Parallel Quantum Chemistry) is a widely used computational quantum chemistry code. It is capable of performing a number of computations commonly occurring in quantum chemistry. In order to achieve better performance of MPQC, in this report we present a detailed performance analysis of this code. We then perform loop and memory access optimizations, and measure performance improvements by comparing the performance of the optimized code with that of the original MPQC code. We observe that the optimized MPQC code achieves a significant improvement in the performance through a better utilization of vector processing and memory hierarchies.

97 MATHEMATICS AND COMPUTING↗

Cyclic codes over the ring F{sub 2}+uF{sub 2}+vF{sub 2}

In this paper, we study linear and cyclic codes over the ring F{sub 2}+uF{sub 2}+vF{sub 2}. The ring F{sub 2}+uF{sub 2}+vF{sub 2} is the smallest non-Frobenius ring. We characterize the structure of cyclic codes over the ring R=F{sub 2}+uF{sub 2}+vF{sub 2} using of the work Abualrub and Saip (Des Codes Cryptogr 42:273–287, 2007). We study the rank and dual of cyclic codes of odd length over this ring. Specially, we show that the equation |C||C{sup ⊥}|=|R|{sup n} does not hold in general for a cyclic code C of length n over this ring. We also obtain some optimal binary codes as the images of cyclic codes over the ring F{sub 2}+uF{sub 2}+vF{sub 2} under a Gray map, which maps Lee weights to Hamming weights. Finally, we give a condition for cyclic codes over R that contains its dual and find quantum codes over F{sub 2} from cyclic codes over the ring F{sub 2}+uF{sub 2}+vF{sub 2}.

97 MATHEMATICS AND COMPUTING↗

Massively Parallel Simulation of Large Molecular Systems with Long-Range Interactions Final Report CRADA No. TC-0297-92-B

The purpose of this CRADA project is to develop and implement a large-scale molecular dynamics model for floppy molecules with long-ranged interaction on massively parallel supercomputers and accelerate the use of parallel supercomputers within the biomolecular and polymer industries. Within three years of the project, the partners will: create a new molecular dynamics computer simulation code (LAMMPS) from existing codes at SAndia National Laboratory-Albuquerque (SNL-A) and Lawrence Livermore National Laboratory (LLNL) and new algorithms and code developed during the CRADA project; design the resulting code to optimally use the emerging generation of massively parallel supercomputers; and apply the code to the solution of biomolecular problem suggested by Bristol-Myers Squibb (BMS) and polymer problems suggested by DuPont.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

The Scientific Impact of the Exascale Computing Project

The recent arrival of the Frontier Supercomputer at Oak Ridge National Laboratory officially marked the dawn of the exascale computing era. Its successful deployment coincided with the culmination of the U.S. Department of Energy Exascale Computing Project (ECP), an ambitious, complex, and risky research and development effort that integrated contributions from a broad and diverse subset of the high-performance computing community. The success of ECP will ultimately be judged by the scientific and engineering advances that it enabled. In conclusion, this Special Issue is focused on showcasing early successes in the use of exascale resources to enable breakthroughs in key areas of science in engineering.

97 MATHEMATICS AND COMPUTING↗

Improvements in transport calculations by the optimized multigroup libraries for fast neutron systems

This paper shows how to improve the accuracy of the transport calculations using in the APOLLO2 code the optimized multigroup libraries calculated by AEMC for fast neutron systems. These ameliorations concern the fission source calculation and the self-shielding models. The calculation of the fission source was generalized to fission spectra including an incident neutron energy dependence. The subgroup self-shielding model was updated for a mixture of resonant nuclides. Some tests on a Pu-239 sphere without reflectors and a fast sodium cell show that the use of four fission spectra guarantees a correct representation of the fission source. The test on a Pu-239 sphere with a thick steel reflector proves that the subgroup self-shielding, accounting for the mutual shielding of several resonant nuclides, allows us to improve the accuracy of the neutron transport solution in the reflector. (authors)

21 SPECIFIC NUCLEAR REACTORS AND ASSOCIATED PLANTS↗

A Systematic Approach to Offshore Wind Turbine Jacket Pre-Design and Optimization: Geometry, Cost, and Surrogate Structural Code Check Models

The main obstacles in preliminary design studies or optimization of jacket substructures for offshore wind turbines are high numerical expenses for structural code checks and simplistic cost assumptions. In order to create a basis for fast design evaluations, this article provides the following: firstly, a jacket model is proposed that covers topology and tube sizing with a limited set of design variables. Secondly, a cost model is proposed that goes beyond the simple and common mass-dependent approach. And thirdly, the issue of numerical efficiency is addressed by surrogate models both for fatigue and ultimate limit state code checks. In addition, this work shows an example utilizing all models. The outcome can be utilized for preliminary design studies and jacket optimization schemes and is suitable for scientific and industrial applications.

17 WIND ENERGY↗

Programming approaches for scalability, performance, and portability of combustion physics codes

Here, this paper presents the process, strategy, and results associated with porting a typical combustion physics flow solver to current state-of-the-art and future massively-parallel computer architectures. Major focus is placed on the distinct algorithmic structure of these types of codes and how it can be integrated with modern programming paradigms for heterogeneous platforms (i.e., distributed many-core systems with accelerators). An end-to-end case study is presented that exemplifies the process in a generic manner, which then serves as a clear guide with respect to the strategy and best practices leading to a robust and adaptable framework that performs well, is durable over time, is portable, and requires minimal human-effort. This end is accomplished beginning with the use of a mature, validated, structured, multiblock code framework optimized for application of both Large Eddy Simulation (LES) and Direct Numerical Simulation (DNS). This code has been ported to a variety of platforms over the past decade, including most recently the Oak Ridge Leadership Computing Facility’s “Summit” Platform. The experience gained on these multiple platforms provides general insights and thus the results presented are not specific to any one code or platform other than the overarching trend toward distributed many-core systems with accelerators in order to move toward exascale performance. The resultant performance and scalability of the ported code is demonstrated on a real-world application; a state-of-the-art rotating detonation rocket engine simulation that matches the complex geometry and boundary conditions imposed as part of a companion experimental campaign.

97 MATHEMATICS AND COMPUTING↗

Progress Towards Accelerating the Unified Model on Hybrid Multi-Core Systems

The cloud microphysics scheme, CASIM, and the radiation scheme, SOCRATES, are two computationally intensive parts within the Met Office's Unified Model (UM). This study enables CASIM and SOCRATES to use accelerated multi-core systems for optimal computational performance of the UM. Using profiling to guide our efforts, we refactored the code for optimal threading and kernel arrangement and implemented OpenACC directives manually or through the CLAW source-to-source translator. Initial porting results achieved 10.02x and 9.25x speedup in CASIM and SOCRATES respectively on 1 GPU compared with 1 CPU core. A granular performance analysis of the strategy and bottlenecks are discussed. These improvements will enable UM to run on heterogeneous computers and a path forward for further improvements is provided.

Zhang, Wei↗

Optimization of High-order Wave Equations for Multicore CPUs

This is a simple benchmark to gauge the performance of a high-order isotropic wave equation grid. The code is optimized for both SSE and AVX and is parallelized using OpenMP (see Optimization section). Structurally, the benchmark begins, reads a few command-line parameters, allocates and pads the four arrays (current, last, next wave fields, and the spatially varying but isotropic velocity), initializes these arrays, then runs the benchmark proper. The code then benchmarks the naïve, SSE (if supported), and AVX (if supported implementations) by applying the wave equation stencil 100 times and taking the average performance. Boundary conditions are ignored and would nominally be implemented by the user. Thus, the benchmark measures only the performance of the wave equation stencil and not a full simulation. The naïve implementation is a quadruply (z,y,x, radius) nested loop that can handle arbitrarily order wave equations. The optimized (SSE/AVX) implentations are somewhat more complex as they operate on slabs and include a case statement to select an optimized inner loop depending on wave equation order.

Williams, Samuel↗

From Physics Model to Results: An Optimizing Framework for Cross-Architecture Code Generation

Starting from a high-level problem description in terms of partial differential equations using abstract tensor notation, the Chemora framework discretizes, optimizes, and generates complete high performance codes for a wide range of compute architectures. Chemora extends the capabilities of Cactus, facilitating the usage of large-scale CPU/GPU systems in an efficient manner for complex applications, without low-level code tuning. Chemora achieves parallelism through MPI and multi-threading, combining OpenMP and CUDA. Optimizations include high-level code transformations, efficient loop traversal strategies, dynamically selected data and instruction cache usage strategies, and JIT compilation of GPU code tailored to the problem characteristics. The discretization is based on higher-order finite differences on multi-block domains. Chemora's capabilities are demonstrated by simulations of black hole collisions. This problem provides an acid test of the framework, as the Einstein equations contain hundreds of variables and thousands of terms.

Blazewicz, Marek↗

Subspace-Aware Index Codes

In this paper, we generalize the well-known index coding problem to exploit the structure in the source-data to improve system throughput. In many applications (e.g., multimedia), the data to be transmitted may lie (or can be well approximated) in a low-dimensional subspace. We exploit this low-dimensional structure of the data using an algebraic framework to solve the index coding problem (referred to as subspace-aware index coding) as opposed to the traditional index coding problem which is subspace-unaware. Also, we propose an efficient algorithm based on the alternating minimization approach to obtain near optimal index codes for both subspace-aware and -unaware cases. In conclusion, our simulations indicate that under certain conditions, a significant throughput gain (about 90%) can be achieved by subspace-aware index codes over conventional subspace-unaware index codes.

97 MATHEMATICS AND COMPUTING↗

Tools for analysis of optimization models

The software is code for analyzing, debugging, and solving optimization models. The code implements several algorithms and provides convenient APIs to apply these algorithms to optimization models. The algorithms are primarily based on graph theory. They compute well-known partitions of graphs, and use these partitions to provide the user information about their optimization model, including diagnosing certain types of structural modeling errors. Some algorithms may be used as a subroutine to solve an optimization problem, and may call an optimization solver to facilitate this. Well-known linear algebra routines are called to provide further diagnostics. The software contains no data and no models other than toy models used for testing.

Parker, Robert↗

Improvements, enhancements, and optimizations of COBRA-TF

The Reactor Dynamics and Fuel Management Group (RDFMG) at The Pennsylvania State University (PSU) has become active in the Consortium for Advanced Simulation of Light Water Reactors (CASL) program by delivering, supporting, and further developing CTF, the PSU version of the Coolant Boiling in Rod Arrays - Two Fluids (COBRA-TF) Thermal/Hydraulic (T/H), sub-channel program. New development work on CTF was primarily geared towards decreasing the execution time of the code so that it may eventually be used for performing pin-by-pin, full-core simulations. Great gains have been made through targeting sections of source code for optimization. For example, wall clock time has been reduced for a one-assembly, three-dimensional model, containing {approx}9,400 mesh cells, from 9.2 min to 1 min. A further improvement has been reduction in code memory usage, which was previously prohibitive for large models. In conjunction with the run time speedups, this has enabled the simulation of a refined quarter-core model ({approx}460,000 mesh cells), which saw a reduction in memory usage from over 130 GB to less than 3 GB. In addition to the optimization work, RDFMG has also created a preprocessor utility for the fast and less error-prone generation of CTF input decks. Furthermore, basic post-processing capabilities have been implemented by creating a CTF subroutine for producing Visualization Tool-Kit (VTK) files that output mesh data and associated simulation results. These VTK files can be opened with visualization software. (authors)

97 MATHEMATICS AND COMPUTING↗

GPU Profiling and Optimizing xRAGE (Final Report)

Our project’s objective is to increase the efficiency of GPU-enabled kernels in xRAGE. To do so, we conduct GPU profiling with NSight Systems on xRAGE tests unsplit_sod_1d and unsplit_sedov_2d to identify bottlenecks and understand the behavior of the GPU during code execution. Next, we analyze these generated GPU profiles to locate the lines of code whose optimization have the most potential for improving runtime. We replicate the structure of the code in smaller test problems that are easier to understand, edit, and run quickly. Within these test problems, we implement two different methods of improving performance: transformation of nested loops into a single MDRangePolicy and hierarchical parallelization using teams of threads. Both methods show speedups in the test code, and after transferring them to xRAGE, they both show up to 30x speedups on various computing platforms. Profiling the edited versions of xRAGE reveals that the GPU successfully executed the bottlenecks with greater efficiency

97 MATHEMATICS AND COMPUTING↗

Comparative Performance Analysis of Coarse Solvers for Algebraic Multigrid on Multicore and Manycore Architectures

In this paper, we study the performance of a two-level algebraic-multigrid algorithm, with a focus on the impact of the coarse-grid solver on performance. We consider two algorithms for solving the coarse-space systems: the preconditioned conjugate gradient method and a new robust HSS-embedded low-rank sparse-factorization algorithm. Our test data comes from the SPE Comparative Solution Project for oil-reservoir simulations. We contrast the performance of our code on one 12-core socket of a Cray XC30 machine with performance on a 60-core Intel Xeon Phi coprocessor. To obtain top performance, we optimized the code to take full advantage of fine-grained parallelism and made it thread-friendly for high thread count. We also developed a bounds-and-bottlenecks performance model of the solver which we used to guide us through the optimization effort, and also carried out performance tuning in the solver’s large parameter space. Finally, as a result, significant speedups were obtained on both machines.

97 MATHEMATICS AND COMPUTING↗

Development of GPU-based Monte Carlo code for fast CT imaging dose calculation on CUDA Fermi architecture

This paper describes the development of a Graphics Processing Unit (GPU) accelerated Monte Carlo photon transport code, ARCHER{sub GPU}, to perform CT imaging dose calculations with good accuracy and performance. The code simulates interactions of photons with heterogeneous materials. It contains a detailed CT scanner model and a family of patient phantoms. Several techniques are used to optimize the code for the GPU architecture. In the accuracy and performance test, a 142 kg adult male phantom was selected, and the CT scan protocol involved a whole-body axial scan, 20-mm x-ray beam collimation, 120 kVp and a pitch of 1. A total of 9 x 108 photons were simulated and the absorbed doses to 28 radiosensitive organs/tissues were calculated. The average percentage difference of the results obtained by the general-purpose production code MCNPX and ARCHER{sub GPU} was found to be less than 0.38%, indicating an excellent agreement. The total computation time was found to be 8,689, 139 and 56 minutes for MCNPX, ARCHER{sub CPU} (6-core) and ARCHER{sub GPU}, respectively, indicating a decent speedup. Under a recent grant funding from the NIH, the project aims at developing a Monte Carlo code with the capability of sub-minute CT organ dose calculations. (authors)

61 RADIATION PROTECTION AND DOSIMETRY↗

Uncovering translation roadblocks during the development of a synthetic tRNA

Ribosomes are remarkable in their malleability to accept diverse aminoacyl-tRNA substrates from both the same organism and other organisms or domains of life. This is a critical feature of the ribosome that allows the use of orthogonal translation systems for genetic code expansion. Optimization of these orthogonal translation systems generally involves focusing on the compatibility of the tRNA, aminoacyl-tRNA synthetase, and a non-canonical amino acid with each other. As we expand the diversity of tRNAs used to include non-canonical structures, the question arises as to the tRNA suitability on the ribosome. Specifically, we investigated the ribosomal translation of allo-tRNA UTu1 , a uniquely shaped (9/3) tRNA exploited for site-specific selenocysteine insertion, using single-molecule fluorescence. With this technique we identified ribosomal disassembly occurring from translocation of allo-tRNA UTu1 from the A to the P site. Using cryo-EM to capture the tRNA on the ribosome, we pinpointed a distinct tertiary interaction preventing fluid translocation. Through a single nucleotide mutation, we disrupted this tertiary interaction and relieved the translation roadblock. With the continued diversification of genetic code expansion, our work highlights a targeted approach to optimize translation by distinct tRNAs as they move through the ribosome.

59 BASIC BIOLOGICAL SCIENCES↗