GPU Performance Portability

We are investigating methods to identify performance issues caused by changing GPU hardware. Performance is strongly influenced by the runtime environment (hardware and runtime library), the program, and the program's input. Disentangling the contributions from these three factors is crucial to identify performance differences caused by hardware alone.

Our contributions have been:

  1. A statistical method to identify performance differences and attribute them correctly (our ISPASS 2019 paper)
  2. A method to create "semi-portable" optimization strategies when full performance portability is not possible (our ISPASS 2019 paper)
  3. A very portable OpenCL port of the IrGL GPU compiler for graph algorithms (our IWOCL 2019 paper)

Our current focus at Rochester is on generalizing these techniques to all GPU programs.


  1. Tyler Sorensen (UC Santa Cruz)
  2. Sreepathi Pai


No publicly available artifacts available. Our data is available on request. We are planning to make our infrastructure (the OpenCL Zoo) available for general use. Drop me (Sreepathi) a mail if you'd like to have access.


  1. Tyler Sorensen, Sreepathi Pai, and Alastair Donaldson, One Size Doesn't Fit All: Quantifying Performance Portability of Graph Applications on GPUs, IISWC 2019, Orlando, FL, USA (Best Paper)

  2. Tyler Sorensen, Sreepathi Pai, Alastair Donaldson, Performance Evaluation of OpenCL Standard Support (and Beyond!), IWOCL 2019, Boston, MA, USA, May 2019 (Best Paper)