MIMD interpretation on a GPU

Henry G. Dietz, B. Dalton Young

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

3 Scopus citations

Abstract

Programming heterogeneous parallel computer systems is notoriously difficult, but MIMD models have proven to be portable across multi-core processors, clusters, and massively parallel systems. It would be highly desirable for GPUs (Graphics Processing Units) also to be able to leverage algorithms and programming tools designed for MIMD targets. Unfortunately, most GPU hardware implements a very restrictive multi-threaded SIMD-based execution model. This paper presents a compiler, assembler, and interpreter system that allows a GPU to implement a richly featured MIMD execution model that supports shared-memory communication, recursion, etc. Through a variety of careful design choices and optimizations, reasonable efficiency is obtained on NVIDIA CUDA GPUs. The discussion covers both the methods used and the motivation in terms of the relevant aspects of GPU architecture.

Original languageEnglish
Title of host publicationLanguages and Compilers for Parallel Computing - 22nd International Workshop, LCPC 2009, Revised Selected Papers
Pages65-79
Number of pages15
DOIs
StatePublished - 2010
Event22nd International Workshop on Languages and Compilers for Parallel Computing, LCPC 2009 - Newark, DE, United States
Duration: Oct 8 2009Oct 10 2009

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume5898 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference22nd International Workshop on Languages and Compilers for Parallel Computing, LCPC 2009
Country/TerritoryUnited States
CityNewark, DE
Period10/8/0910/10/09

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Science (all)

Fingerprint

Dive into the research topics of 'MIMD interpretation on a GPU'. Together they form a unique fingerprint.

Cite this