[ Introduction | ESFA on GPU | Download | Papers | Links ]
This web page contains resources for research on GPU programming.
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.
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,