Chris Lattner | |
---|---|
![]() Chris Lattner at FOSDEM in 2011 | |
Born | Christopher Arthur Lattner 1978 (age 46–47) |
Nationality | American |
Alma mater |
|
Known for | LLVM Clang Swift programming language Mojo programming language |
Spouse | Tanya Lattner |
Awards | |
Scientific career | |
Fields | Compilers Programming languages |
Institutions |
|
Thesis | Macroscopic Data Structure Analysis and Optimization (2005) |
Doctoral advisor | Vikram Adve |
Website | nondot |
Christopher Arthur Lattner (born 1978) is an American software engineer and creator of LLVM, the Clang compiler, the Swift programming language and the MLIR compiler infrastructure. [1]
After his PhD in computer science, Lattner worked at Apple for 12 years, eventually leading the Developer Tools team. Between 2017 and 2022, Lattner worked in various positions for Tesla, Google [2] and SiFive. [3] He is currently co-founder and CEO of Modular AI, a company building an artificial intelligence developer platform. [4]
Lattner started programming in high school with Basic. Learned machine language programming with Pascal and Assembly before eventually jumping to C and C++ [5] .
Lattner studied computer science at the University of Portland, graduating with a Bachelor of Science degree in 2000. While in Oregon, he worked as an operating system developer, enhancing Sequent Computer Systems's DYNIX/ptx. [6] [7]
In late 2000, Lattner joined the University of Illinois at Urbana-Champaign as a research assistant and M.Sc. student. While working with Vikram Adve, he designed and began implementing LLVM, an innovative infrastructure for optimizing compilers, which was the subject of his 2002 Master of Science thesis. [8] In his PhD thesis, completed in 2005 also with Vikram Adve, Lattner used LLVM for research on optimizing pointer-intensive programs. [9] [10]
At Apple, Lattner was primarily responsible for building a new compiler infrastructure based around LLVM and creating the Swift programming language for building apps on Apple platforms. Lattner served as the Senior Director and Architect, Developer Tools Department from January 2013 to January 2017 leading the Xcode, Instruments, and compiler teams. [11] [6] [12] [13]
In 2005, Apple Inc. hired Lattner to begin work bringing LLVM to production quality for use in Apple products. Over time, Lattner built out the technology, personally implementing many major new features in LLVM, formed and built a team of LLVM developers at Apple, started the Clang project, took responsibility for evolving Objective-C (contributing to the blocks language feature, and driving the ARC and Objective-C literals features), and nurtured the open source community (leading it through many open source releases). Apple first shipped LLVM-based technology in the 10.5 (and 10.4.8) OpenGL stack as a just-in-time (JIT) compiler, shipped the llvm-gcc compiler in the integrated development environment (IDE) Xcode 3.1, Clang 1.0 in Xcode 3.2, Clang 2.0 (with C++ support) in Xcode 4.0, and LLDB, libc++, assemblers, and disassembler technology in later releases. [14]
Lattner's work involved designing, implementing, and evangelizing the LLVM and Clang compilers, productizing and driving the debugger LLDB, and overseeing development of the low-level toolchain. As of 2016, LLVM technologies are the core of Apple's developer tools and the default toolchain on FreeBSD. [15]
In June 2010, the Association for Computing Machinery (ACM) Special Interest Group on programming languages (SIGPLAN) gave Lattner its inaugural ACM SIGPLAN Programming Languages Software Award "for his design and development of the Low Level Virtual Machine", noting that Professor Adve has stated: "Lattner's talent as a compiler architect, together with his programming skills, technical vision, and leadership ability were crucial to the success of LLVM." [16]
In April 2013, the ACM awarded Lattner its Software System Award, [17] which is presented to anyone "recognized for developing a software system that has had a lasting influence, reflected in contributions to concepts, in commercial acceptance, or both". [11]
Lattner began developing the Swift programming language in 2010, with the eventual collaboration of many other programmers. [18]
On 2 June 2014, the WWDC app became the first publicly released app that used Swift. [19]
Swift is an open source [20] [21] programming language with first-class functions for iOS and macOS development, created by Apple and introduced at Apple's developer conference Apple Worldwide Developers Conference (WWDC) 2014. [22]
Swift is designed to coexist [23] with Objective-C, the object-oriented programming language formerly preferred by Apple, and to be more resilient against erroneous code. It is built with the LLVM compiler included in Xcode 6. [24]
Lattner announced that the project lead role had been transferred to Ted Kremenek, and that Lattner would leave Apple in January 2017. [25]
At Tesla, Lattner served as the Vice President at Autopilot Software from January 30 to June 20, 2017, where he worked on transitioning Autopilot hardware. [26] [27]
Lattner served as the Senior Director and Distinguished Engineer, TensorFlow Infrastructure and Technologies at Google from August 2017 to January 2020. [28]
While working at Google, Lattner was the co-founder of MLIR compiler infrastructure, [1] a compiler that aims to address software fragmentation, improve compilation for heterogeneous hardware, significantly reduce the cost of building domain-specific compilers, and aid in connecting existing compilers together. [29] [30]
Lattner joined SiFive in January 2020 as the President of Platform Engineering, [31] [32] leading the RISC-V Product and Engineering organizations (everything excluding HR, finance, sales, and customer support). [33] [34]
In 2022, Chris Lattner, alongside his co-founders, established Modular AI, a company that is building an Artificial Intelligence (AI) developer platform. Their first products are the Mojo programming language and an inference engine. [4] Lattner is the current CEO of Modular AI.
Lattner is married to Tanya Lattner, who co-founded the LLVM Foundation with him in 2015 and has been its president and COO ever since. [35] [36]
In computing, a compiler is a computer program that translates computer code written in one programming language into another language. The name "compiler" is primarily used for programs that translate source code from a high-level programming language to a low-level programming language to create an executable program.
Xcode is Apple's integrated development environment (IDE) for macOS, used to develop software for macOS, iOS, iPadOS, watchOS, tvOS, and visionOS. It was initially released in late 2003; the latest stable release is version 16, released on September 16, 2024, and is available free of charge via the Mac App Store and the Apple Developer website. Registered developers can also download preview releases and prior versions of the suite through the Apple Developer website. Xcode includes command-line tools that enable UNIX-style development via the Terminal app in macOS. They can also be downloaded and installed without the GUI.
In compiler design, static single assignment form is a type of intermediate representation (IR) where each variable is assigned exactly once. SSA is used in most high-quality optimizing compilers for imperative languages, including LLVM, the GNU Compiler Collection, and many commercial compilers.
LLVM, also called LLVM Core, is a target-independent optimizer and code generator. It can be used to develop a frontend for any programming language and a backend for any instruction set architecture. LLVM is designed around a language-independent intermediate representation (IR) that serves as a portable, high-level assembly language that can be optimized with a variety of transformations over multiple passes. The name LLVM originally stood for Low Level Virtual Machine. However, the project has since expanded, and the name is no longer an acronym but an orphan initialism.
In computer science, bootstrapping is the technique for producing a self-compiling compiler – that is, a compiler written in the source programming language that it intends to compile. An initial core version of the compiler is generated in a different language ; successive expanded versions of the compiler are developed using this minimal subset of the language. The problem of compiling a self-compiling compiler has been called the chicken-or-egg problem in compiler design, and bootstrapping is a solution to this problem.
The Apple Developer Tools are a suite of software tools from Apple to aid in making software dynamic titles for the macOS and iOS platforms. The developer tools were formerly included on macOS install media, but are now exclusively distributed over the Internet. As of MacOS 14.6.1, Xcode is available as a free download from the Mac App Store.
Clang is a compiler front end for the programming languages C, C++, Objective-C, Objective-C++, and the software frameworks OpenMP, OpenCL, RenderScript, CUDA, SYCL, and HIP. It acts as a drop-in replacement for the GNU Compiler Collection (GCC), supporting most of its compiling flags and unofficial language extensions. It includes a static analyzer, and several code analysis tools.
OpenCL is a framework for writing programs that execute across heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), field-programmable gate arrays (FPGAs) and other processors or hardware accelerators. OpenCL specifies a programming language for programming these devices and application programming interfaces (APIs) to control the platform and execute programs on the compute devices. OpenCL provides a standard interface for parallel computing using task- and data-based parallelism.
The LLDB Debugger (LLDB) is the debugger component of the LLVM project. It is built as a set of reusable components which extensively use existing libraries from LLVM, such as the Clang expression parser and LLVM disassembler. LLDB is free and open-source software under the University of Illinois/NCSA Open Source License, a BSD-style permissive software license. Since v9.0.0, it was relicensed to the Apache License 2.0 with LLVM Exceptions.
Automatic Reference Counting (ARC) is a memory management feature of the Clang compiler providing automatic reference counting for the Objective-C and Swift programming languages. At compile time, it inserts into the object code messages retain
and release
which increase and decrease the reference count at run time, marking for deallocation those objects when the number of references to them reaches zero.
Objective-C is a high-level general-purpose, object-oriented programming language that adds Smalltalk-style message passing (messaging) to the C programming language. Originally developed by Brad Cox and Tom Love in the early 1980s, it was selected by NeXT for its NeXTSTEP operating system. Due to Apple macOS’s direct lineage from NeXTSTEP, Objective-C was the standard language used, supported, and promoted by Apple for developing macOS and iOS applications from 1997, when Apple purchased NeXT until the introduction of the Swift language in 2014.
Google Brain was a deep learning artificial intelligence research team that served as the sole AI branch of Google before being incorporated under the newer umbrella of Google AI, a research division at Google dedicated to artificial intelligence. Formed in 2011, it combined open-ended machine learning research with information systems and large-scale computing resources. It created tools such as TensorFlow, which allow neural networks to be used by the public, and multiple internal AI research projects, and aimed to create research opportunities in machine learning and natural language processing. It was merged into former Google sister company DeepMind to form Google DeepMind in April 2023.
Swift is a high-level general-purpose, multi-paradigm, compiled programming language created by Chris Lattner in 2010 for Apple Inc. and maintained by the open-source community. Swift compiles to machine code and uses an LLVM-based compiler. Swift was first released in June 2014 and the Swift toolchain has shipped in Xcode since Xcode version 6, released in September 2014.
Metal is a low-level, low-overhead hardware-accelerated 3D graphic and compute shader API created by Apple, debuting in iOS 8. Metal combines functions similar to OpenGL and OpenCL in one API. It is intended to improve performance by offering low-level access to the GPU hardware for apps on iOS, iPadOS, macOS, and tvOS. It can be compared to low-level APIs on other platforms such as Vulkan and DirectX 12.
Vikram Adve is the Donald B. Gillies professor in the Department of Computer Science and a Professor in Electrical and Computer Engineering at the University of Illinois at Urbana-Champaign.
SiFive, Inc. is an American fabless semiconductor company and provider of commercial RISC-V processors and silicon chips based on the RISC-V instruction set architecture (ISA). Its products include cores, SoCs, IPs, and development boards.
ROCm is an Advanced Micro Devices (AMD) software stack for graphics processing unit (GPU) programming. ROCm spans several domains: general-purpose computing on graphics processing units (GPGPU), high performance computing (HPC), heterogeneous computing. It offers several programming models: HIP, OpenMP, and OpenCL.
Mojo is a programming language in the Python family that is currently under development. It is available both in browsers via Jupyter notebooks, and locally on Linux and macOS. Mojo aims to combine the usability of a high-level programming language, specifically Python, with the performance of a system programming language such as C++, Rust, and Zig. As of 2024, the Mojo compiler is closed source with an open source standard library. Modular, the company behind Mojo, has stated an intent to eventually open source the Mojo language, as it matures.
{{cite journal}}
: Cite journal requires |journal=
(help)CS1 maint: numeric names: authors list (link)