Title
Improved runtime performance of compression algorithms on CPU and GPU using CUDA
Other title
Mejora de rendimiento en tiempo de ejecución de los Algoritmos de Compresión en CPU y GPU utilizando CUDA.
Date Issued
2018
Access level
open access
Resource Type
conference paper
Author(s)
Mayta-Rosas M.
Talavera-Díaz H.
Quispe-Huanca G.
Universidad Nacional de San Agustín de Arequipa
Publisher(s)
Latin American and Caribbean Consortium of Engineering Institutions
Abstract
Currently users handle large amounts of data that are increasing, consequently the compression of these introduces an additional overhead and the performance of the hardware can be reduced, therefore must take into account the execution time as a key element to choose properly the algorithm perform this action. In this paper we present a parallel implementation of Lempel-Ziv (LZ78) and Run Length Encoding (RLE) algorithms, originally sequential, using the parallel programming model and Compute Unified Device Architecture (CUDA), on a NVIDIA-branded GPU device. It presents a comparison between the execution time of the algorithms in CPU and in GPU demonstrating a significant improvement in the execution time of the process of data compression on the GPU in comparison with the implementation based on the CPU in both algorithms.
Volume
2018-July
Language
Spanish
OCDE Knowledge area
Ingeniería de sistemas y comunicaciones
Scopus EID
2-s2.0-85057465735
ISBN
9780999344316
Source
Proceedings of the LACCEI international Multi-conference for Engineering, Education and Technology
Resource of which it is part
Proceedings of the LACCEI international Multi-conference for Engineering, Education and Technology
ISSN of the container
24146390
ISBN of the container
978-099934431-6
Sponsor(s)
En este trabajo se utilizó CUDA, por la fiabilidad de las herramientas y la disponibilidad de hardware de NVIDIA. Además se utilizó CUDA Toolkit 8.0 [15], que proporciona un entorno de desarrollo integral para desarrolladores de C y C ++ que crean aplicaciones aceleradas por GPU, incluye un compilador para GPUs NVIDIA, bibliotecas matemáticas y herramientas para depurar y optimizar el rendimiento de las aplicaciones. Para la paralelización del algoritmo LZ78, se utilizó un estándar OpenACC (Para Aceleradores Abiertos) el cual es un estándar de programación para la informática paralela desarrollada por Cray, CAPS, NVIDIA y PGI. El estándar está diseñado para simplificar la programación paralela de sistemas heterogéneos de CPU/GPU [16].
Sources of information: Directorio de Producción Científica Scopus