Posts
Sep, 10
Performance Improvement of TOUGH2 Simulation with Graphics Processing Unit
We tried to accelerate the computational speed of TOUGH2 simulation by introducing a linear computation routine using a Graphics Processing Unit (GPU). Libraries for GPU computation were introduced, and new solvers for linear equations were developed. Out of those, CLLUSTB, an ILU preconditioned BiCGSTAB solver made with the CULA Sparse, demonstrated good performance both in […]
Sep, 8
Performance Evaluation of Concurrent Lock-free Data Structures on GPUs
Graphics processing units (GPUs) have emerged as a strong candidate for high-performance computing. While regular data-parallel computations with little or no synchronization are easy to map on the GPU architectures, it is a challenge to scale up computations on dynamically changing pointer-linked data structures. The traditional lock-based implementations are known to offer poor scalability due […]
Sep, 8
Lost in Translation: Challenges in Automating CUDA-to-OpenCL Translation
The use of accelerators in high-performance computing is increasing. The most commonly used accelerator is the graphics processing unit (GPU) because of its low cost and massively parallel performance. The two most common programming environments for GPU accelerators are CUDA and OpenCL. While CUDA runs natively only on NVIDIA GPUs, OpenCL is an open standard […]
Sep, 8
Mastering Software Variant Explosion for GPU Accelerators
Mapping algorithms in an efficient way to the target hardware poses a challenge for algorithm designers. This is particular true for heterogeneous systems hosting accelerators like graphics cards. While algorithm developers have profound knowledge of the application domain, they often lack detailed insight into the underlying hardware of accelerators in order to exploit the provided […]
Sep, 8
Supporting Heterogenous Computing Environments in SaC
From laptops to supercomputer nodes hardware architectures become increasingly heterogeneous, combining at least multiple general-purpose cores with one or even multiple GPGPU accelerators. Taking effective advantage of such systems’ capabilities becomes increasingly challenging. SaC is a functional array programming language with support for fully automatic parallelization following a data-parallel approach. As such many SaC programs […]
Sep, 8
OpenACC Implementations Comparison
Using GPUs for general purpose programming is, nowadays, much easier than the previous years. In the very beginning were Brook-GPU or Close To Metal the approaches used for exploring the new possibilities of hardware accelerators. After that, CUDA and OpenCL were released. They had been adopted by many programmers due to theirs advantages but, however, […]
Sep, 7
Can GPGPU Programming Be Liberated from the Data-Parallel Bottleneck?
Heterogeneous parallel primitives (HPP) addresses two major shortcomings in current GPGPU programming models: it supports full composability by defining abstractions and increases flexibility in execution by introducing braided parallelism.
Sep, 7
High Performance Parallel Implementation of Compressive Sensing SAR Imaging
The compressive sensing (CS) theory has been applied to SAR imaging systems in many ways. And it shows a significant reduction in the amount of sampling data at the cost of much longer reconstruction time. In this paper, we investigate the development and optimization of Iterative Shrinkage/Thresholding (IST) algorithm applying to CS reconstruction of SAR […]
Sep, 7
Multi-Moment Methods for PDEs and GPUs for Large-Scale Scientific Computations
The scope of this thesis is broad but focuses on developing effective numerical methods and efficient implementations. We investigate numerical solution methods for hyperbolic partial differential equations, numerical optimization methods, and implementation of fast numerical algorithms on graphics processor units (GPUs). For partial differential equations we develop numerical methods for the transport and advection equations. […]
Sep, 7
An Efficient Acceleration of Digital Fonensics Search Using GPGPU
Graphics Processing Units (GPU) have been the extensive research topic in recent years and have been successfully applied to general purpose applications other than computer graphical area. The nVidia CUDA programming model provides a straightforward means of describing inherently parallel computations. In this paper, we present a study of the efficiency of emerging technology in […]
Sep, 7
GPU Computing and CUDA technology used to accelerate a mesh generator application
The potential of GPU computing used in general purpose parallel programming has been amply shown. These massively parallel many-core multiprocessors are available to any users in every PCs, notebook, game console or workstation. In this work, we present the parallel version of a mesh-generating algorithm and its execution time reduction by using off-the-shelf GPU technology. […]
Sep, 6
Power and Performance Analysis of GPU-Accelerated Systems
Graphics processing units (GPUs) provide significant improvements in performance and performance-perwatt as compared to traditional multicore CPUs. This energy-efficiency of GPUs has facilitated the use of GPUs in many application domains. Albeit energy efficient, GPUs consume non-trivial power independently of CPUs. Therefore, we need to analyze the power and performance characteristic of GPUs and their […]