Friday, March 4, 2016 at 10:30 AM in the first floor auditorium of ECSB. Performance, Programmability, and Portability in Heterogeneous Computing: A Multi-Faceted Perspective and Case Study The proliferation of a diverse set of heterogeneous computing platforms in conjunction with the plethora of programming languages, and optimization techniques on each language and for each underlying architecture exacerbate limit adoption of such platforms and thereby their potential impact. Different groups within the parallel computing community are presented with new interesting challenges. Programmers face the problem of deciding on a platform and language combination on which to develop their applications. Computer architects, on the other hand, are in need of a set of algorithms to use for iteratively designing, evaluating the efficacy of their designs, and identifying the architectural innovations that ultimately benefit applications. Last, but not least, compiler writers require specific use cases as test input to guide back-end optimizations. The above challenges are inherently tied to the issues of performance and programmability. To address them in a generalizable way we suggest the need of benchmarks that capture the computation and communication patterns (i.e., dwarfs or motifs) of applications. In this context, we present OpenDwarfs, a benchmark suite that realizes the Berkeley dwarfs in OpenCL, an open-standard computing language for parallel computing. We then showcase how dwarf-based benchmarking can help to attack the aforementioned performance and programmability challenges by: a) Evaluating a subset of the dwarfs on a diverse set of parallel platforms and discussing the computation patterns? interplay with the underlying architectures, b) Presenting a multi-dimensional study of an n-body dwarf and discussing trade-offs between performance and programmability across languages, platforms, and code optimization levels, and c) Introducing an integrated visual programming and auto-tuning framework that attempts to bridge the performance, programmability and portability gaps. *Bio:* Konstantinos Krommydas is a Ph.D. student at the Department of Computer Science at Virginia Tech, where he is a member of the Synergy Lab under the supervision of Dr. Wu Feng. He received his B.Eng. from the Department of Electrical and Computer Engineering at University of Thessaly (Volos, Greece) and his M.Sc. from the Department of Computer Science at Virginia Tech. His research interests lie in the broader area of parallel computing with an emphasis on the analysis and optimization of parallel algorithms and methods to enhance parallel programming productivity (programmability and portability).