GPU programming research

John T. O'Donnell
School of Computing Science
University of Glasgow

[ Introduction | ESFA on GPU | Download | Papers | Links ]

This web page contains resources for research on GPU programming.

Introduction

We are investigating the applicability of GPUs to a variety of programming problems, including "active data structures".

ESFA on GPU

ESFA (extensible sparse functional array) is an active data structure that uses fine grain parallelism to provide fast access, creation, traversal, and memory management for pure functional arrays. See the paper below and the ESFA page for an explanation of ESF arrays, circuit design, simulators, test generation, and more.

The ESFA algorithm has been implemented on an NVidia GPU using C+CUDA. You can download it below. The algorithm is under active development, and the code is not in final polished form.

Download esfa-gpu

Here is the program, written in C+CUDA. You will also need one or more of the test data files below.

The standalone gpu program runs a test suite that is read in from a file. A variety of test data files can be downloaded below. It's recommended to use the "set1" directory, which contains ten files, each a randomly generated sequence of 50,000 operations. Each of these files was generated by a special test generator program which is part of the esfa software (that program is available in the esfa package which can be downloaded on the ESFA page).

The test data files have filenames that give some key parameters used in generating the data. Consider the file named test-13-50000-6-0-data1.txt. In this filename,

Papers

Links


John O'Donnell