Programming Languages Lunch Colloquia - Mark Silberstein/UTCS, "GPUfs -- integrating a file system with GPUs," PAI 3.14

Contact Name: 
John Thywissen
PAI 3.14
Nov 12, 2012 12:00pm - 1:30pm

Type of Talk: Programming Languages Lunch Colloquium

Speaker/Affiliation: Mark Silberstein/UTCS

Talk Audience: UTCS Faculty and Grads

Date/Time: 11/12/12, 12:00pm - 1:30pm 

Location: PAI 3.14

Talk Title: "GPUfs -- integrating a file system with GPUs" 

Talk Abstract: GPU hardware is becoming increasingly general purpose, quickly outgrowing the traditional but constrained GPU-as-coprocessor programming model. To make GPUs easier to program and easier to integrate with existing systems, we propose making the host‚s file system directly accessible from GPU code. GPUfs provides a POSIX-like API for GPU programs, exploits GPU parallelism for efficiency, and optimizes GPU file access by extending the buffer cache into GPU memory. Our experiments, based on a set of real benchmarks adopted to use our file system, demonstrate the feasibility and benefits of our approach. For example, we demonstrate a simple self-contained GPU program which searches for a set of strings in the entire tree of Linux kernel source files in less than half of the time of an 8-CPU core run.

GPUfs promotes changing the GPU programming model from co-processor to peer-processor. This has a number of important implications for the way the GPU programs are compiled.  For example, we found that since the programs are becoming larger, the issue of register allocation, done at compile time for GPUs, becomes much more critical. In particular, some code is more sensitive to register spilling, and some is less.