Data handling inefficiencies between CUDA, 3D rendering, and system memory

Brian Gordon, Sohum Sohoni, Damon Chandler

Research output: Chapter in Book/Report/Conference proceedingConference contribution

5 Scopus citations

Abstract

While GPGPU programming offers faster computation of highly parallelized code, the memory bandwidth between the system and the GPU can create a bottleneck that reduces the potential gains. CUDA is a prominent GPGPU API which can transfer data to and from system code, and which can also access data used by 3D rendering APIs. In an application that relies on both GPU programming APIs to accelerate 3D modeling and an easily parallelized algorithm, the hidden inefficiencies of nVidia's data handling with CUDA become apparent. First, CUDA uses the CPU's store units to copy data between the graphics card and system memory instead of using a more efficient method like DMA. Second, data exchanged between the two GPU-based APIs travels through the main processor instead of staying on the GPU. As a result, a non-GPGPU implementation of a program runs faster than the same program using GPGPU.

Original languageEnglish (US)
Title of host publicationIEEE International Symposium on Workload Characterization, IISWC'10
DOIs
StatePublished - Dec 1 2010
Event2010 IEEE International Symposium on Workload Characterization, IISWC'10 - Atlanta, GA, United States
Duration: Dec 2 2010Dec 4 2010

Publication series

NameIEEE International Symposium on Workload Characterization, IISWC'10

Other

Other2010 IEEE International Symposium on Workload Characterization, IISWC'10
Country/TerritoryUnited States
CityAtlanta, GA
Period12/2/1012/4/10

ASJC Scopus subject areas

  • Computer Science Applications
  • Electrical and Electronic Engineering

Fingerprint

Dive into the research topics of 'Data handling inefficiencies between CUDA, 3D rendering, and system memory'. Together they form a unique fingerprint.

Cite this