15-411

Guest Lecture, November 30

Compiler talks from Google

Stephen Hines

Stephen Hines has been working in the area of programming languages and compilers for the Android platform for 11 years at Google. He currently manages the Android Native Toolchains and Tools team, which is responsible for the Clang/LLVM toolchain, Android’s Rust toolchain, and assorted tools like the Simpleperf profiler. Prior to Android, he worked on CUDA’s runtime and driver. He has a PhD in Computer Science from Florida State University, where he studied computer architecture and compilers, with a focus on instruction set design and improving instruction fetch.

Nick Saulniers

Nick Desaulniers is a software engineer at Google working on compiling the Linux Kernel with Clang (and LLVM).

Nick has previously worked on TensorFlow’s Accelerated Linear Algebra (XLA) JIT compiler for Tensor Processing Units (TPUs), and the Linux kernel for the Nexus and Pixel phones while at Google.

Nick also hacked on open source projects like Firefox, Firefox OS, Emscripten, and Rust at Mozilla.

Contributing to Open Source software and an accessible Internet for all are some of the things that Nick is most passionate about.

Chris Wailes

Chris Wailes is a compilers and runtime engineer working on Rust toolchain support for Android. Previous to his work with Rust he worked on the Android RunTime (ART) team where he maintained the Zygote and helped with the development of other features such as AppImages. Before joining Google fulltime Chris worked on the Android RenderScript project as an intern and helped implement Constrained Generics for Cray’s Chapel programming language. His graduate studies were focused on Topologically-Aware Load Balancing for masively parallel runtime systems.