Chris Lattner | |
---|---|
Born | Christopher Arthur Lattner 1978 (age 45–46) |
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 computer scientist 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 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. [5] [6]
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. [7] In his PhD thesis, completed in 2005 also with Vikram Adve, Lattner used LLVM for research on optimizing pointer-intensive programs. [8] [9]
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. [10] [5] [11] [12]
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. [13]
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. [14]
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." [15]
In April 2013, the ACM awarded Lattner its Software System Award, [16] 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". [10]
Lattner began developing the Swift programming language in 2010, with the eventual collaboration of many other programmers. [17]
On 2 June 2014, the WWDC app became the first publicly released app that used Swift. [18]
Swift is an open source [19] [20] 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. [21]
Swift is designed to coexist [22] 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. [23]
Lattner announced that the project lead role had been transferred to Ted Kremenek, and that Lattner would leave Apple in January 2017. [24]
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. [25] [26]
Lattner served as the Senior Director and Distinguished Engineer, TensorFlow Infrastructure and Technologies at Google from August 2017 to January 2020. [27]
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. [28] [29]
Lattner joined SiFive in January 2020 as the President of Platform Engineering, [30] [31] leading the RISC-V Product and Engineering organizations (everything excluding HR, finance, sales, and customer support). [32] [33]
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. [34] [35]
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 is a set of compiler and toolchain technologies that 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, though the project has expanded and the name is no longer officially an initialism.
SIGPLAN is the Association for Computing Machinery's Special Interest Group (SIG) on programming languages. This SIG explores programming language concepts and tools, focusing on design, implementation, practice, and theory. Its members are programming language developers, educators, implementers, researchers, theoreticians, and users.
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.
XL C/C++ is the name of IBM's proprietary optimizing C/C++ compilers for IBM-supported environments.
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.
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 version 6, released in 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.
Swift Playgrounds is an educational tool and development environment for the Swift programming language developed by Apple Inc., initially announced at the WWDC 2016 conference. It was introduced as an iPad application alongside iOS 10, with a macOS version introduced in February 2020. It is available for free via Apple's App Store for iPadOS and Mac App Store for macOS.
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 proprietary software 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)