Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “parallelize algorithm computation”

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 991 records · Page 55

Case Study of Using Kokkos and SYCLs Performance-Portable Frameworks for Milc-Dslash Benchmark on NVIDIA, AMD and Intel GPUs

Six of the top ten supercomputers in the TOP500 list from June 2021 rely on NVIDIA GPUs to achieve their peak compute bandwidth. With the announcement of Aurora, Frontier, and El Capitan, Intel and AMD have also entered the domain of providing GPUs for scientific computing. A consequence of the increased diversity in the GPU landscape is the emergence of portable programming models such as Kokkos, SYCL, OpenCL, and OpenMP, which allow application developers to maintain a single-source code across a diverse range of hardware architectures. While the portable frameworks try to optimize the compute resource usage on a given architecture, it is the programmers responsibility to expose parallelism in an application that can take advantage of thousands of processing elements available on GPUs. In this paper, we introduce a GPU-friendly parallel implementation of Milc-Dslash that exposes multiple hierarchies of parallelism in the algorithm. Milc-Dslash was designed to serve as a benchmark with highly optimized matrix-vector multiplications to measure the resource utilization on the GPU systems. The parallel hierarchies in the Milc-Dslash algorithm are mapped onto a target hardware using Kokkos and SYCL programming models. We present the performance achieved by Kokkos and SYCL implementations of Milc-Dslash on NVIDIA A100 GPU, AMD MI100 GPU, and Intel Gen9 GPU. Additionally, we compare the Kokkos and SYCL performances with those obtained from the versions written in CUDA and HIP programming models on NVIDIA A100 GPU and AMD MI100 GPU, respectively.

Dufek, Amanda S↗

A Block-Based Triangle Counting Algorithm on Heterogeneous Environments

Triangle counting is a fundamental building block in graph algorithms. In this article, we propose a block-based triangle counting algorithm to reduce data movement during both sequential and parallel execution. Our block-based formulation makes the algorithm naturally suitable for heterogeneous architectures. The problem of partitioning the adjacency matrix of a graph is well-studied. Our task decomposition goes one step further: it partitions the set of triangles in the graph. By streaming these small tasks to compute resources, we can solve problems that do not fit on a device. We demonstrate the effectiveness of our approach by providing an implementation on a compute node with multiple sockets, cores and GPUs. The current state-of-the-art in triangle enumeration processes the Friendster graph in 2.1 seconds, not including data copy time between CPU and GPU. Using that metric, our approach is 20 percent faster. When copy times are included, our algorithm takes 3.2 seconds. This is 5.6 times faster than the fastest published CPU-only time.

97 MATHEMATICS AND COMPUTING↗

HPC Institutional Computing Project: W15_lesreactiveflow KIVA-hpFE Development: A Robust and Accurate Engine Modeling Software

KIVA-hpFE is a high performance computer software for solving the physics of multi-species and multiphase turbulent reactive flow in complex geometries having immersed moving parts. The code is written in Fortran 90/95 and can be used on any computer platform with any popular complier. The code is in two versions, a serial version and a parallel version utilizing MPICH2 type Message Passing Interface (MPI or Intel MPI) for solving distributed domains. The parallel version is at least 30x faster than the serial version and much faster than our previous generation of parallel engine modeling software, by many factors. The 5th generation algorithm construction is a Galerkin type Finite Element Method (FEM) solving conservative momentum, species, and energy transport equations along with two-equation turbulent model k-ω Reynolds Averaged Navier-Stokes (RANS) model and a Vreman type dynamic Large Eddy Simulation (LES) method. The LES method is capable modeling transitional flow from laminar to fully turbulent; therefore, this LES method does not require special hybrid or blending to walls. The FEM projection method also uses a Petrov-Galerkin (P-G) stabilization along with pressure stabilization. We employ hierarchical basis sets, constructed on the fly with enrichment in areas associated with relatively larger error as determined by error estimation methods. In addition, when not using the hp-adaptive module, the code employs Lagrangian basis or shape functions. The shape functions are constructed for hexahedral, prismatic and tetrahedral elements. The software is designed to solve many types of reactive flow problems, from burners to internal combustion engines and turbines. In addition, the formulation allows for direct integration of solid bodies (conjugate heat transfer), as in heat transfer through housings, parts, cylinders. It can also easily be extended to stress modeling of solids, used in fluid structure interactions problems, solidification, porous media modeling and magneto hydrodynamics.

97 MATHEMATICS AND COMPUTING↗

A Block-Based Triangle Counting Algorithm on Heterogeneous Environments

Triangle counting is a fundamental building block in graph algorithms. In this paper, we propose a block-based triangle counting algorithm to reduce data movement during both sequential and parallel execution. Our block-based formulation makes the algorithm naturally suitable for heterogeneous architectures. The problem of partitioning the adjacency matrix of a graph is well-studied. Our task decomposition goes one step further: it partitions the set of triangles in the graph. By streaming these small tasks to compute resources, we can solve problems that do not fit on a device. We demonstrate the effectiveness of our approach by providing an implementation on a compute node with multiple sockets, cores and GPUs. The current state-of-the-art in triangle enumeration processes the Friendster graph in 2.1 seconds, not including data copy time between CPU and GPU. Using that metric, our approach is 20 percent faster. When copy times are included, our algorithm takes 3.2 seconds. This is 5.6 times faster than the fastest published CPU-only time.

97 MATHEMATICS AND COMPUTING↗

TEAM Project Review, Year 2

This report summarizes our research activities within the TEAM project between December 2020 and December 2021, funded by the ASCR Advanced Research in Quantum Computing program. During the reporting period the LLNL-MSU team has made progress on several fronts. An overarching goal of the team is to provide a comprehensive suite of software tools that can be used for the Characterize-Optimize-Compute loop needed to implement and execute algorithms on quantum devices. We are concurrently developing lightweight solvers that can be used on desktop computers to find optimal control pulses and to characterize small quantum systems (consisting of a few transmons and cavities). However, desktop computers are insufficient for simulating and characterizing larger quantum systems. We have therefore also developed parallel, distributed memory, simulators and optimization solvers, both for open and closed quantum systems. These parallel solvers have, for example, been used to study quantum optimal control for pure-state preparation, utilizing 1000’s of cores on a modern high-performance computing (HPC) platform.

71 CLASSICAL AND QUANTUM MECHANICS, GENERAL PHYSIC↗

Time parallelization of advanced operation scenario simulations of ITER plasma

This work demonstrates that simulations of advanced burning plasma operation scenarios can be successfully parallelized in time using the parareal algorithm. CORSICA - an advanced operation scenario code for tokamak plasmas is used as a test case. This is a unique application since the parareal algorithm has so far been applied to relatively much simpler systems except for the case of turbulence. In the present application, a computational gain of an order of magnitude has been achieved which is extremely promising. A successful implementation of the Parareal algorithm to codes like CORSICA ushers in the possibility of time efficient simulations of ITER plasmas.

Samaddar, D.↗

Covering Resilience: A Recent Development for Binomial Checkpointing

In terms of computing time, adjoint methods offer a very attractive alternative to compute gradient information, required, e.g., for optimization purposes. However, together with this very favorable temporal complexity result comes a memory requirement that is in essence proportional with the operation count of the underlying function, e.g., if algorithmic differentiation is used to provide the adjoints. For this reason, checkpointing approaches in many variants have become popular. This paper analyzes an extension of the so-called binomial approach to cover also possible failures of the computing systems. Such a measure of precaution is of special interest for massive parallel simulations and adjoint calculations where the mean time between failure of the large scale computing system is smaller than the time needed to complete the calculation of the adjoint information. We describe the extensions of standard checkpointing approaches required for such resilience, provide a corresponding implementation and discuss first numerical results.

Walther, Andrea↗

Enhanced Shuffling and Fuel Management Capability in PHISICS code

PHISICS (Parallel and Highly Innovative Simulation for the INL Code System) code is a reactor physics package, under development at the Idaho National Laboratory since few years ago. This package is aimed to provide a modern analysis and design tool for reactor physics investigation. It has been designed with the idea to maximize accuracy for a given availability of computational resources and to give state of the art tools and advanced solutions to the nuclear engineer. This is obtained through the implementation of several different solution algorithms and meshing approaches among which the user will be able to choose, in order to balance his computational resources and accuracy needs. PHISICS has been coded following an object-oriented mindset, evolving in a complete modular design; this determines remarkable simplifications in the development of modules by different teams and future maintenance. The different modules currently available in the PHISICS package are a nodal and semi-structured transport core solver (INSTANT), a depletion and burn-up module (MRTAU), a time-dependent solver (Time Integrator), a cross section interpolation and manipulation framework (MIXER), a criticality search module (Criticality) and a fuel management and shuffling component (Shuffle), which is the subject of this paper, having been recently redesigned and improved. PHISICS is fully parallelized to take advantage of multi-core workstations and High Performance Computing systems (4 to 500 cores). In addition, the package is coupled with the system safety analysis code RELAP5-3D. Using the coupling between PHISICS and RELAP5-3D is possible to drive a accurate dynamic analysis switching between a steady state and time-dependent calculations. The main purpose of this paper is to present the redesigned module Shuffle, within the PHISICS tool-kit. All the functionality limitations of the old design have been faced and resolved. The functionality of the module has been fully tested and represented a key development in order to face a challenging problems, such as the revision of the requirements in 10 CFR 50.46C rules, focused on the ECCS rule in LOCA scenarios. The renovated Shuffle module is now completed and represents a key feature of the PHISICS for fuel cycle studies and optimization. Currently it is possible to perform multi-cycle full core analysis including accounting for the thermal-hydraulic feedback by the coupling with RELAP-5. (authors)

97 MATHEMATICS AND COMPUTING↗

Comparison of Distributive Consensus Algorithms for AnomalyDetection on the Power-Grid

As an increasing number of devices in the power-grid rely on high-precision clocks to measure electrical properties and time stamp data, GPS receivers have become a vulnerability on the power-grid. GPS spoofing attacks, in which a fake signal is transmitted, can cause sensor measurement errors that can misinform protective equipment and grid operators for both the transmission and distribution grid. The technology being developed to secure precision clocks in the transmission grid are not appropriate for the distribution grid. Thus, there is a need to developed anomaly detection algorithms that are suitable for the hardware available on the distribution grid. Traditionally, a distributed detection framework is comprised of spatially distributed nodes which acquire observations about a quantity of interest and sends the data to the fusion center, where a global decision is made. Instead the distribution grid has low-power devices, such as smart inverters and microPMUs, that could be used to perform highly parallelized calculations. Having on node calculations is beneficial since it is more network and computation efficient, as the more calculations can be performed where the data is being captured instead of communicating across a slow network to a centralized fusion center. Instead, we could employ an alternate peer-to-peer type of information exchange on the distribution grid that can still reach a global decision. A decentralized approach to anomaly detection makes efficient use of the computational and network bandwidth that exists, and it also lacks the single point of failure of a centralized approach. Thus, a decentralized local information exchange and/or inference is preferred. Lastly, the unreliability of the distribution grid network connections and potential noise or error in the measurements must be considered. In order to produce an effective detection tool, a Byzantine-fault tolerant and asynchronous algorithm must be developed. Thus, the first phase of our project is to develop a distributed, decentralized, asynchronous, Byzantine-fault tolerant, collaborative autonomy-based anomaly detection algorithm to collectively analyze clusters of data for signs of a malicious attack.

97 MATHEMATICS AND COMPUTING↗

Circumventing mesh bias by r- and h-adaptive techniques for variational eigenfracture

This work introduces and compares mesh r- and h-adaptivity for the eigenfracture model originally proposed in Schmidt et al. (Multiscale Model Simul 7:1237–1266, 2009), Pandolfi and Ortiz (J Numer Methods Eng 92:694–714, 2012), with the goal of suppressing potential mesh bias due to the element deletion. In the r-adaptive approach, we compute the configurational force at each incremental step and move nodes near the crack tip parallel to the normalized configurational forces field such that the crack propagation direction can be captured more accurately within each incremental step. In the h-adapative approach, we introduce mesh refinement via a quad-tree algorithm to introduce more degrees of freedom within the nonlocal ϵ-neighborhood such that a more refined crack path can be reproduced with a higher mesh resolution. Our numerical examples indicate that the r-adaptive approach is able to replicate curved cracks and complex geometrical features, whereas the h-adaptive approach is advantageous in simulating sub-scale fracture when the nonlocal regions are smaller than the un-refined coarse mesh.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

CMS readiness for multi-core workload scheduling

In the present run of the LHC, CMS data reconstruction and simulation algorithms benefit greatly from being executed as multiple threads running on several processor cores. The complexity of the Run 2 events requires parallelization of the code to reduce the memory-per- core footprint constraining serial execution programs, thus optimizing the exploitation of present multi-core processor architectures. The allocation of computing resources for multi-core tasks, however, becomes a complex problem in itself. The CMS workload submission infrastructure employs multi-slot partitionable pilots, built on HTCondor and GlideinWMS native features, to enable scheduling of single and multi-core jobs simultaneously. This provides a solution for the scheduling problem in a uniform way across grid sites running a diversity of gateways to compute resources and batch system technologies. This paper presents this strategy and the tools on which it has been implemented. The experience of managing multi-core resources at the Tier-0 and Tier-1 sites during 2015, along with the deployment phase to Tier-2 sites during early 2016 is reported. The process of performance monitoring and optimization to achieve efficient and flexible use of the resources is also described.

72 PHYSICS OF ELEMENTARY PARTICLES AND FIELDS↗

Population Count on Intel® CPU, GPU, and FPGA

Population count is a primitive used in many applications. Commodity processors have dedicated instructions for achieving high-performance population count. Motivated by the productivity of high-level synthesis and the importance of population count, in this paper we investigated the OpenCL implementations of population count algorithms, and evaluated their performance and resource utilizations on an FPGA. Based on the results, we select the most efficient implementation. Then we derived a reduction pattern from a representative application of population count. We parallelized the reduction with atomic functions, and optimized it with vectorized memory accesses, tree reduction, and compute-unit duplication. We evaluated the performance of the reduction kernel on an Intel (R) Xeon (R) CPU and an Intel (R) IrisT Pro integrated GPU, and an FPGA card that features an Intel (R) Arria (R) 10 FPGA. When DRAM memory bandwidth is comparable on the three computing platforms, the FPGA can achieve the highest kernel performance for large workload. On the other hand, we described performance bottlenecks on the FPGA. To make FPGAs more competitive in raw performance compared to high-performant CPU and GPU platforms, it is important to increase external memory bandwidth, minimize data movement between a host and a device, and reduce OpenCL runtime overhead on an FPGA.

heterogeneous computing↗

Sparse Binary Matrix-Vector Multiplication on Neuromorphic Computers

Neuromorphic computers offer the opportunity for low-power, efficient computation. Though they have been primarily applied to neural network tasks, there is also the opportunity to leverage the inherent characteristics of neuromorphic computers (low power, massive parallelism, collocated processing and memory) to perform non-neural network tasks. Here, we demonstrate how an approach for performing sparse binary matrix-vector multiplication on neuromorphic computers. We describe the approach, which relies on the connection between binary matrix-vector multiplication and breadth first search, and we introduce the algorithm for performing this calculation in a neuromorphic way. We validate the approach in simulation. Finally, we provide a discussion of the runtime of this algorithm and discuss where neuromorphic computers in the future may have a computational advantage when performing this computation.

Schuman, Catherine↗

2020 IEEE PES Innovative Smart Grid Technologies Europe (ISGT-Europe)

Recent proliferation of distributed energy sources in distribution or sub-transmission systems necessitates close monitoring of these three-phase power grids which typically operate under unbalanced loading conditions. Unlike the transmission systems where the network equations are commonly based on the positive sequence component models, a detailed three phase model will have to be used in implementing network applications for these systems. In the specific case of the state estimator, where measurement and parameter errors may bias the solution, bad data and parameter error detection algorithms should also be incorporated. Implementing the state estimator and error detection algorithms for three-phase systems impose additional computational burden and modifications to the state estimation code. This paper proposes a practical solution to avoid these issues by using synchronized phasor measurements and modal decoupling. The previously developed parameter error detection algorithm based on the normalized Lagrange multipliers (NLM) test is applied to the measurements independently in each mode in parallel, not only saving CPU time but also avoiding new code development for a three-phase estimator. Different parameter error scenarios are created and tested to verify the effectiveness of the proposed error detection approach.

Khalili, Ramtin↗

Multi-jagged: A scalable parallel spatial partitioning algorithm

Geometric partitioning is fast and effective for load-balancing dynamic applications, particularly those requiring geometric locality of data (particle methods, crash simulations). We present, to our knowledge, the first parallel implementation of a multidimensional-jagged geometric partitioner. In contrast to the traditional recursive coordinate bisection algorithm (RCB), which recursively bisects subdomains perpendicular to their longest dimension until the desired number of parts is obtained, our algorithm does recursive multi-section with a given number of parts in each dimension. By computing multiple cut lines concurrently and intelligently deciding when to migrate data while computing the partition, we minimize data movement compared to efficient implementations of recursive bisection. We demonstrate the algorithm's scalability and quality relative to the RCB implementation in Zoltan on both real and synthetic datasets. Our experiments show that the proposed algorithm performs and scales better than RCB in terms of run-time without degrading the load balance. Lastly, our implementation partitions 24 billion points into 65,536 parts within a few seconds and exhibits near perfect weak scaling up to 6K cores.

97 MATHEMATICS AND COMPUTING↗

Model Analysis ToolKit

MATK provides basic functionality to facilitate model analysis within the Python computational environment. Model analysis setup within MATK includes: - define parameters - define observations - define model (python function) - define samplesets (sets of parameter combinations) Currently supported functionality includes: - forward model runs - Latin-Hypercube sampling of parameters - multi-dimensional parameter studies - parallel execution of parameter samples - model calibration using internal Levenberg-Marquardt algorithm - model calibration using lmfit package - model calibration using levmar package - Markov Chain Monte Carlo using pymc package MATK facilitates model analysis using: - scipy - calibration (scipy.optimize) - rpy2 - Python interface to R

Harp, DylanR.↗

Model Analysis ToolKit

MATK provides basic functionality to facilitate model analysis within the Python computational environment. Model analysis setup within MATK includes: - define parameters - define observations - define model (python function) - define samplesets (sets of parameter combinations) Currently supported functionality includes: - forward model runs - Latin-Hypercube sampling of parameters - multi-dimensional parameter studies - parallel execution of parameter samples - model calibration using internal Levenberg-Marquardt algorithm - model calibration using lmfit package - model calibration using levmar package - Markov Chain Monte Carlo using pymc package MATK facilitates model analysis using: - scipy - calibration (scipy.optimize) - rpy2 - Python interface to R

Harp, Dylan R.↗

Two-Tower Quantum Matrix Chain Multiplication: Trading Qubits for Depth

Matrix chain multiplication -- computing $\mathcal{W} = M^{(0)}\cdots M^{(K-1)}$ where $M^{(k)} \in \mathbb{R}^{P_k \times P_{k+1}}$-- arises in scientific computing, machine learning, and graph analysis. Despite the importance of this problem, for chains of distinct matrices, the classical number of operations grows linearly with the chain length $K$ and polynomially in the matrix dimensions. We present \emph{Two-Tower Matrix Multiplication}, a quantum subroutine that encodes the product $\mathcal{W}$ of the $K$ matrices into a quantum state in circuit depth $\mathcal{O}(\max_{k} \mathrm{polylog} (P_k P_{k+1}))$, which is independent of~$K$ within the QRAM-based state-preparation model, whereas the qubit count is $\mathcal{O}\bigl(\sum_{k} \log P_k \bigr)$; the total gate count remains linear in $K$, so the gain is in the circuit depth. The construction interleaves state-preparation operators across two layers; within each layer, all operators act on disjoint registers and execute in parallel. This subroutine can be specialized for the chain-vector case, which computes the product of $K-1$ matrices applied to a vector. We prove the correctness of the subroutine for all $K$ and provide two implementations using the Qiskit and QCLAB frameworks. The subroutine is applicable to any downstream quantum algorithm that operates on a matrix encoded in the statevector, including norm estimation, graph-matrix powers, linear system solving, and quantum machine learning kernels.

Antonioli, Giacomo [Pisa U.] (ORCID:00090000668703↗