Home CV Publications PhD PostDoc SIMD
Android Glass Astronomy Retro Games Lego

Aart Bik's Resume


Personal Information

Full Name Aart J.C. Bik
Nationality Netherlands/USA
Work Staff Software Engineer
Google Inc.
1600 Amphitheatre Parkway
Mountain View, CA 94043, USA
Website https://www.aartbik.com/
Network https://aartbik.blogspot.com/ https://twitter.com/AartBik https://facebook.com/ajcbik
https://www.youtube.com/user/AartBik https://www.linkedin.com/in/aartbik https://amazon.com/author/aartbik
https://github.com/aartbik https://www.instagram.com/aartbik https://play.google.com/store/apps/developer?id=Aart+Bik
https://mastodon.nl/@AartBik https://bsky.app/profile/aartbik.bsky.social
Citations Google Scholar dblp CS bibliography orcid 0000-0002-0333-7413
ACM Profile Semantic Scholar

Education and Work History

1969-1987 Aart was born in Gouda, The Netherlands. He received his high school diploma (Gymnasium Beta) on June 2, 1987 in Gouda.
1987-1992 MSc On August 29, 1988, Aart passed the propaedeutical exam in computer science (cum laude) and he received his MSc degree in computer science (cum laude) from the Utrecht University, The Netherlands, on May 25, 1992.
1992-1996PhD Aart received his PhD degree in Computer Science from the Leiden University, The Netherlands, on May 29, 1996, under supervision of prof. dr. H.A.G. Wijshoff His PhD thesis "Compiler Support for Sparse Matrix Computations" received the C.J. Kok Award (outstanding thesis award).
1996-1997 postdoc Aart was a post-doctoral researcher at the Indiana University, Bloomington, Indiana, researching high performance compilers for the Java programming language, under supervision of prof. dr. D.B. Gannon.
1998-2007 Intel In January 1998, Aart started at the Microcomputer Research Laboratories of Intel Corporation in Santa Clara, California, USA, working on Java JIT compilation. In 1999, he transferred to the Software and Solutions Group, where he was the lead compiler architect of automatic vectorization in the Intel C++/Fortran compilers. In March 2002, Aart received the Intel Achievement Award (highest company award) for making SSE easy to use through automatic vectorization. In April 2005, he was promoted to Principal Engineer.
2007-now Google In May 2007, Aart moved to Google Inc. in Mountain View, California, where he has worked on Pregel, a distributed system for large-scale graph computations. Aart co-authored the paper "Pregel: A System for Large-Scale Graph Processing", which won the 2020 ACM SIGMOD Test of Time Award. Aart also worked in Google[x] on the GDK (Glass Development Kit), on the optimizing compiler for ART (Android Runtime), where he received the 2017 Google Silver Perfy Award for his work on SIMDization in the ART compiler, and on the Dart VM and compiler. In November 2019, Aart joined the MLIR compiler team, where he revamped his old passion for vectorization and compiler support for sparse computations, while working on a new passion for machine learning!

Awards and Major Achievements

1997 Aart's PhD thesis received the C.J. Kok Award (outstanding thesis award) from the Leiden University.
2002 Aart received the Intel Achievement Award (highest company award) for making SSE easy to use through automatic vectorization.
2004 Aart authored the book "The Software Vectorization Handbook".
2005 Aart was promoted to Principal Engineer at Intel Corporation.
2006 Aart co-authored the second edition of "The Software Optimization Cookbook".
2010 Aart received the Google EngOps Citizenship Award.
2017 Aart received the Google Silver Perfy Award for his work on SIMDization in the ART compiler.
2020 The paper "Pregel: A System for Large-Scale Graph Processing" won the 2020 ACM SIGMOD Test of Time Award.

Experience


Skills

Aart is an experienced computer scientist with a thorough knowledge of the programming languages C, C++, Fortran, Java, Python, as well as OpenMP extensions, pthreads, and assembly languages. He is also very comfortable with many other programming languages, such as Ada, Basic, Lisp, Kotlin, Occam, Pascal, Prolog, SQL, machine learning frameworks (Tensorflow, JAX, PyTorch), and Web 2.0 technology (CSS, Dart, HTLM5, JavaScript, PHP). Aart has worked on a wide variety of architectures and processors (e.g. 65xx, 68xxx, x86, Intel 64, IPF, MIPS, XScale, ARM), development environments and infrastructures (e.g. Android Studio, CVS, Eclipse, GDB, Git, IntelliJ IDEA, LLVM, MLIR, Perforce, Visual C++, and VTune), and operating systems (Android, Unix, Linux, Mac OS, and Windows). His specialties include optimizing compilers, data dependence analysis, high performance computing, large-scale graph computations, machine learning, parallel and distributed systems, parallelization, sparse computations, and vectorization (SIMDization). Aart is a strong proponent of fuzz testing.

Publications


Professional Societies and Committees


Personal Interests

Astronomy, computer chess (and other games), piano, reading, retro-computing (Commodore 64, micro-KIM), robotics (Lego Mindstorms NXT).

[Twitter] [Facebook] [GooglePlay] [Instagram] [Mastodon] [LinkedIn] [Blogger] [YouTube]