File compression using the cuda framework
Download
1 / 11

File Compression Using the CUDA Framework - PowerPoint PPT Presentation


  • 63 Views
  • Uploaded on

File Compression Using the CUDA Framework. Brandon Grant Tomas Mann Florida State University Spring 2010 Multicore Programming CIS4930. Contents. Introduction Implementation Performance Conclusions. Introduction. Why is compression important? Limited disk space

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' File Compression Using the CUDA Framework' - loan


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
File compression using the cuda framework

File Compression Using the CUDA Framework

Brandon Grant

Tomas Mann

Florida State University

Spring 2010 Multicore Programming

CIS4930


Contents
Contents

  • Introduction

  • Implementation

  • Performance

  • Conclusions

File Compression Using the CUDA Framework


Introduction
Introduction

  • Why is compression important?

    • Limited disk space

    • Shrink bloated and redundant files

    • Expedite file transfer

File Compression Using the CUDA Framework


Introduction1
Introduction

  • What benefits can CUDA bring to the table?

    • Nvidia Compute Unified Device Architecture

    • Massively parallel GPU

    • Can run thousands of threads

  • We want to implement a parallel lossless compression algorithm that can compress larger files faster by taking advantage of parallelism.

File Compression Using the CUDA Framework


Implementation
Implementation

  • Modified Burrows-Wheeler Compression

    • Implement a sequential version to identify individual tasks.

    • Identify potentially parallelizable tasks.

    • Implement parallel versions of these tasks and use them to replace their sequential counterparts.

File Compression Using the CUDA Framework


Implementation1
Implementation

  • Parallel: Burrows-Wheeler Transformation

    • Computes the Burrows-Wheeler code.

    • Computes the index of the original string in the sorted string rotations table.

Algorithm 1: Parallel Burrows-Wheeler

1: s := string for which the thread is responsible, rank = 0.

2: for each string x in the list

3: if x < s

4: rank = rank + 1

5: end if

6: end for

7: output[rank] = last character of s

8: if (s == original input sequence)

9: BW_index = rank

File Compression Using the CUDA Framework


Implementation2
Implementation

  • Parallel: Huffman Coding

    • Ascii table initialization

    • Character occurrence counter

    • Node sorter

File Compression Using the CUDA Framework


Conclusions
Conclusions

  • Our parallel algorithm did not show any significant performance advantages over the sequential version

    • Burrows-Wheeler algorithm is optimized for a single core implementation, significant performance boosts would be difficult to realize

    • Memory hierarchy restrictions in CUDA hamper performance

File Compression Using the CUDA Framework


Conclusions1
Conclusions

Compression Time

Decompression Time

Original File Size

Compression Ratios

File Compression Using the CUDA Framework


Conclusions2
Conclusions

Burrows-Wheeler Performance

  • english.dic

  • world95.txt

File Compression Using the CUDA Framework


Questions

Thank you for viewing our presentation.

Questions?

File Compression Using the CUDA Framework


ad