Reasoning about Heterogeneous Computing

Speaker Name: 
Tyler Sorensen
Speaker Title: 
Postdoctoral Scholar
Speaker Organization: 
Princeton University
Start Time: 
Thursday, March 14, 2019 - 11:00am
End Time: 
Thursday, March 14, 2019 - 12:15pm
Location: 
E2-599
Organizer: 
Heiner Litz

Abstract:
Heterogeneous system designs have allowed computing efficiency to
scale past fundamental constraints of transistors. Such systems are
now the computation workhorses behind everyday technology, from speech
recognition trained on clusters of GPUs, to efficient SoC designs in
mobile phones. However, programming for these systems presents many
challenges, specifically in orchestrating synchronization. Examining
general purpose GPU (GPGPU) programming is a pragmatic start towards
general heterogeneous reasoning, as GPGPU programming models expose
hardware specialization and heterogeneous-aware constructs. In this
talk, I discuss my work in this area, which has identified important
areas of under-specification in GPGPU programming and laid the
foundations for specification repairs. 

First, I will present work on testing memory consistency models,
i.e. the rules governing fine-grained communication, for GPGPUs. This
work exposed wide-spread confusion in the GPGPU community, including
identifying programming errors in two Nvidia-endorsed
textbooks. Second, I will present work on GPGPU forward progress
models, which defines a progress abstraction that allows cross-vendor
GPGPU global barrier synchronization. This can then be used in an
optimization for GPGPU graph traversal applications, achieving over a
10x speedup on Intel and AMD GPUs. The talk concludes by showing that
GPGPU reasoning is a natural foundation for future work targeting
general heterogeneous programming.

Bio:
Tyler Sorensen is a PostDoc at Princeton University in Professor
Margaret Martonosi's architecture group working on designing new
heterogeneous systems. He received his PhD from Imperial College London
under the supervision of Dr. Alastair Donaldson. His thesis work
involved rigorous reasoning about GPGPU programming, with an emphasis
on fine-grained synchronization idioms. This work has been published
widely (including two distinguished paper awards at PLDI'18 and
FSE'17) and presented to major GPU vendors, including Nvidia, AMD and
ARM.  Tyler received his MS/BS from University of Utah, where he
received the 2014 Outstanding Senior Award. He has done internships at
both Microsoft Research and Nvidia.