File compression using the cuda framework
This presentation is the property of its rightful owner.
Sponsored Links
1 / 11

File Compression Using the CUDA Framework PowerPoint PPT Presentation


  • 46 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

File Compression Using the CUDA Framework

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


  • Login