This work proposes a hierarchical approach to reduce the training time of task-based routines by reusing previously obtained autotuning information. This approach has been integrated into a working prototype of Chameleon, a dense linear algebra software whose tile-based routines are executed on the available computational resources by means of a runtime system. The results show that this approach provides a high degree of scalability to the entire self-optimization process, achieving a reduction in training time of up to 80
In this work, an automatic optimisation approach for parallel routines on multi-GPU systems is presented. Several inter-GPU communication libraries (such as CUDA-Aware MPI or NCCL) are used with a set of routines to perform the numerical operations among the GPUs located on the compute nodes. The main objective is the selection of the most appropriate communication library, the number of GPUs to be used and the workload to be distributed among them in order to reduce the cost of data movements, which represent a large percentage of the total execution time. To this end, a hierarchical modelling of the execution time of each routine to be optimised is proposed, combining experimental and theoretical approaches. The results show that near-optimal decisions are taken in all the scenarios analysed.
Reverse Time Migration (RTM) uses the finite-difference (FD) method to compute numerical approximations for the acoustic wave equation. It is a computational bottleneck for RTM applications and therefore needs to be optimized to guarantee timely results and efficiency when allocating resources for hydrocarbon exploration. This article describes our experience reengineering a migrated CUDA-based RTM code to SYCL into a multidevice RTM.
This work aims to present the results obtained in optimizing a viscoacoustic geophysical model written with the DEVITO tool and optimized using the OpenACC tile directive for GPU execution. We compared three versions of the operator using the NVIDIA NCU profiling tool: Naive, Tiling (32,4,4), and Mixed Tiling. The Naive version does not use the loop tiling technique, the Tiling (32,4,4) version applies a tile of dimensions (32, 4, 4), and the Mixed Tiling version uses different tile sizes to other loop nests. Analyzing the experimental results, it is notable that the optimized versions substantially increase the cache hit rates and reduce the execution time by about 50%, attesting to the validity of the proposed solutions.
Seismic forward modeling is a computationally and data-intensive stage in the seismic processing workflow. By profiling the kernels of seismic forward modeling algorithms, it was observed that they need to access a wide variety of memory locations, in addition to the computational cost of performing floating-point operations for the numerical solution of wave equations. In this context, the Roofline model was used to analyze six representative computing kernels in seismic modeling on GPU environment to indicate bottlenecks in the performance and suggest improvements of these wave equation propagators. Based on this, six viscoacoustic equations were implemented using the Devito tool. Experimental data have shown that optimizations in increasing data reuse and decreasing off-chip memory traffic can significantly improve performance.
This work presents several self-optimization strategies to improve the performance of task-based linear algebra software on heterogeneous systems. The study focuses on Chameleon, a task-based dense linear algebra software whose routines are computed using a tile-based algorithmic scheme and executed in the available computing resources of the system using a scheduler which dynamically handles data dependencies among the basic computational kernels of each linear algebra routine. The proposed strategies are applied to select the best values for the parameters that affect the performance of the routines, such as the tile size or the scheduling policy, among others. Also, parallel optimized implementations provided by existing linear algebra libraries, such as Intel MKL (on multicore CPU) or cuBLAS (on GPU) are used to execute each of the computational kernels of the routines. Results obtained on a heterogeneous system composed of several multicore and multiGPU are satisfactory, with performances close to the experimental optimum.
Generalized Spatial Modulation is a recently developed technique that is designed to enhance the efficiency of transmissions in MIMO Systems. However, the procedure for correctly retrieving the sent signal at the receiving end is quite demanding. Specifically, the computation of the maximum likelihood solution is computationally very expensive. In this paper, we propose a parallel method for the computation of the maximum likelihood solution using the parallel computing library OpenMP. The proposed parallel algorithm computes the maximum likelihood solution faster than the sequential version, and substantially reduces the worst-case computing times.
Record linkage is a technique widely used to gather data stored in disparate data sources that presumably pertain to the same real world entity. This integration can be done deterministically or probabilistically, depending on the existence of common key attributes among all data sources involved. The probabilistic approach is very time-consuming due to the amount of records that must be compared, specifically in big data scenarios. In this paper, we propose and evaluate a methodology that simultaneously exploits multicore and multi-GPU architectures in order to perform the probabilistic linkage of large-scale Brazilian governmental databases. We present some algorithmic optimizations that provide high accuracy and improve performance by defining the best algorithm-architecture combination for a problem given its input size. We also discuss performance results obtained with different data samples, showing that a hybrid approach outperforms other configurations, providing an average speedup of 7.9 when linking up to 20.000 million records.
Summary Our next generation of petroleum industry holds the promise of increased performance, along with mass customization, better quality and improved productivity. It has as its design principles interoperability, virtualization, decentralization, real-time capacity and supercomputing. The increasing need for computing power today justifies the continuous search for techniques that decrease the time to answer usual computational problems. To take advantage of new hybrid parallel architectures composed by multithreading and multiprocessor hardware, our current efforts involve the design and validation of highly parallel algorithms that efficiently explore the characteristics of such architectures. In this paper, we propose a heterogeneous computational model for seismic imaging using the 2D Full-Waveform Inversion (FWI) to easily exploit multicore and multi-GPU systems. We present an optimization of an algorithm and discuss some results.
Seismic Interferometry can be defined from a computationally point of view as the cross-correlation or the deconvolution process between seismic signals, in order to retrieve virtual sources or receivers where only are placed receivers or sources, respectively. This method is mainly used in passive seismics and oil exploration. Depending on the approach, the receivers could be placed over the Earth’s surface or in Vertical Seismic Profiles (VSP). The seismic interferometry becomes an expensive method when is used large seismic data. This because the cross-correlation and the deconvolution between sources is done to each sample in time and space of its receivers. Then, if the seismic data have a large sampling in time and space, this process can become unfeasible with a serial approach algorithm. In this work we will investigate the parallel implementation of the classic seismic interferometric methods based in cross-correlation and deconvolution approaches, in order to find an efficient way to compute them. In the numerical experiments of this work we will consider a 64-bit CPU’s Intel Xeon.
Virtual screening methodologies have been used to help drug researchers to discover new medicine. The main goal of these methodologies is to help in the docking phase, reducing the vast chemical space (usually referred to have 1060 molecules) to a small number that can be more easily processed and tested. The docking phase tests which molecules better interact with a drug target, such as an enzyme or protein receptor. This process is very time consuming, as we need to test all possible combinations. So, hybrid parallel architectures comprised by multicore processors and multi-GPUs can be a suitable approach to this problem, as they reduce the execution time whereas allow for the exploitation of huge libraries of candidate molecules. In this paper, we present a methodology to increase docking performance through the parallelization of the AutoDock tool over multiprocessor and GPU hardware. The results show our multicore implementation achieves a maximum speedup of 8 times, while our GPU implementation reaches a speedup of 35 times and the hybrid implementation provides a maximum speedup of 80 times.
Automatic tuning methodologies have been used in the design of routines in recent years. The goal of these methodologies is to develop routines which automatically adapt to the conditions of the underlying computational system so that efficient executions are obtained independently of the end-user experience. This paper aims to explore programming routines that can automatically be adapted to the computational system conditions thanks to these automatic tuning methodologies. In particular, we have worked on the evaluation of matrix polynomials on multicore and multi-GPU systems as a target application. This application is very useful for the computation of matrix functions like the sine or cosine but, at the same time, the application is very time consuming since the basic computational kernel, which is the matrix multiplication, is carried out many times. The use of all available resources within a node in an easy and efficient way is crucial for the end user.
The increasing need for computing power today justifies the continuous search for techniques that decrease the time to answer usual computational problems. To take advantage of new hybrid parallel architectures composed by multithreading and multiprocessor hardware, our current efforts involve the design and validation of highly parallel algorithms that efficently explore the characteristics of such architectures. In this paper, we propose an automatic tuning methodology to easily exploit multicore, multi- GPU and coprocessor systems. We present an optimization of an algorithm for solving triangular systems (TRSM), based on block decomposition and asynchronous task assignment, and discuss some results.
Differential matrix Riccati equations (DMREs) enable to model many physical systems appearing in different branches of science, in some cases, involving very large problem sizes. In this paper, we propose an adaptive algorithm for time-invariant DMREs that uses a piecewise-linearized approach based on the Padé approximation of the matrix exponential. The algorithm designed is based upon intensive use of matrix products and linear system solutions so we can seize the large computational capability that modern graphics processing units (GPUs) have on these types of operations using CUBLAS and CULATOOLS libraries (general purpose GPU), which are efficient implementations of BLAS and LAPACK libraries, respectively, for NVIDIA \(\copyright \) GPUs. A thorough analysis showed that some parts of the algorithm proposed can be carried out in parallel, thus allowing to leverage the two GPUs available in many current compute nodes. Besides, our algorithm can be used by any interested researcher through a friendly MATLAB \(\copyright \) interface.
Auto-tuning techniques have been used in the design of routines in recent years. The goal is to develop routines which automatically adapt to the conditions of the computational system in such a way that efficient executions are obtained independently of the end-user experience. This paper aims to explore programming routines that can be automatically adapted to the computational system conditions, making possible to use auto-tuning to represent landform attributes on multicores and multi-GPU systems using high- performance computing techniques for efficient solution of two-dimensional polynomial regression models that allow large problem instances to be addressed.
Computing a matrix polynomial is the basic process in the calculation of functions of matrices by the Taylor method. One of the most efficient techniques for computing matrix polynomials is based on the Paterson– Stockmeyer method. Inspired by this method, we propose in this work a recursive algorithm and an efficient implementation that exploit the heterogeneous nature of current computers to evaluate large scale matrix polynomials is the shortest possible time. Heterogeneous computers are those which have any type of hardware accelerator(s). For these type of computers, we propose a method to easily implement efficient algorithms that use several hardware accelerators in parallel. This methodology is built on the last versions of the OpenMP standard for implementing parallel algorithms on shared memory multiprocessors. In particular, we have used NVIDIA© cards, but the proposal can be readily generalized to other type of devices acting as coprocessors. In addition, we provide a high-level interface in Matlab© to be used by any researcher who is not aware of parallelism nor of other programming issues.
The High Performance Computing has achieved a high level in terms of processing capacity at reduced cost using Graphics Processing Units to perform algorithms of high computing cost. The massively parallel systems based on GPU have to deal with hundreds of processing cores embedded in a single chip, leading to exceptional computing gains. The CUDA (Computing Unified Device Architecture) is a computing architeture of general purposes that uses paralel computing in GPUs to solve high cost computing problems in less time when compared to its execution in CPU (Central Process Unit). The Barracuda Design Pattern supplies a layer of abstraction to the application of massively parallel solutions using CUDA which is easier to handle and similar to the other layers found in existing API's (Application Programming Interface) which are regularly used by programmers that use High Performance Computing.
Mathematical models are often used to simplify landform representation. Its importance is due to the possibility of describing phenomena by means of mathematical models from a data sample. High processing power is needed to represent large areas with a satisfactory level of details. In order to accelerate the solution of complex problems, it is necessary to combine two basic components in heterogeneous systems formed by a multicore with one or more GPUs. In this paper, we present a methodology to represent landform attributes on heterogeneous multicore and multi-GPU systems using high performance computing techniques for efficient solution of two-dimensional polynomial regression model that allow to address large problem instances.
Javier Cuenca合作论文数Departamento de Ingenieria y Tecnologia de Computadores Facultad de Informatica Universidad de Murcia5