Below are available job openings from sponsors of the LLVM Foundation.
If you are interested in having your job openings posted here, details on becoming a sponsor may be found here.
Company Description: Apple designs, manufactures, and markets smartphones, personal computers, tablets, wearables, and accessories worldwide. With Apple Silicon our compiler focus is very much on CPU and GPU efforts with significant teams pushing forward on languages and codegen along many axes.
Apple’s developer tools has been rooted on top of LLVM for over a decade, with LLVM being the basis for the compilers and many other technologies that underpin Apple’s products and software ecosystem.
Company Contact: Jean-Luc Duprat - jld@apple.com | Ted Kremenek - kremenek@apple.com
Job Title: Senior Apple GPU Compiler Backend Engineer - Role Number: 200321463
Job Description: As a member of the AGX backend team you will design and implement significant parts of the compiler for current and future Apple GPUs. You will be a member of a small team with diverse talents and ample room for growth that works on every Apple Silicon GPU we ship in different devices including iPhone, iPad, Apple Watch, Apple TV and Macs. We have roles focused on pre-silicon and on performance. You will be implementing LLVM-based compilers to generate optimized shader binaries that run graphics and compute workloads. This may include improving the performance of generated code, compile time, and maintainability of the code, as well as implementing new features driven by changes to the Metal API and shading language. You may also influence and work on new GPU architectures. You will work in a cross-functional environment and collaborate with many teams across Apple.
Job Title: Apple GPU Compiler Analytics Engineer - Role Number: 200375857
Job Description: The Apple GPU Compiler Analytics team is seeking a results-oriented software engineer with analytics background to work on developing quality and performance systems and metrics. Our team supports the GPU Compiler Backend Teams by providing tools and system to measure and report performance and quality metrics. We create full stack reporting and analysis tools as well as create and support systems to generate and validate the necessary data to guide the teams in making engineering decisions.
Job Title: Security Tools Compiler Engineer - Role Number: Pending
Job Description: The Security Tools and Program Analysis team at Apple is looking for software engineers with expertise in language design, compiler implementation, and security to develop and enhance the Clang compiler. Our team works closely with security, operating system, and performance engineers across Apple to help improve the security of our platform through languages and tools. As an engineer on the team, you will be involved in all aspects of taking a compiler feature from concept to implementation to deployment. We are active contributors to Clang and LLVM as well as other programming language communities.
For more information please reach out to Devin Coughlin at dcoughlin@apple.com.
Job Title: Debugger Engineer - Role Number: 200441685
Job Description: The LLDB team within Apple’s Developer Tools organization is looking for an engineer to work on the debugger. You will work with experienced engineerings to drive features and improvements in the debugger and its surrounding technologies. You’ll collaborate with a variety of teams at Apple working on different layers of the software stack to help shape the future of debugging on our platform. You’ll work closely with the teams working on the operating system and other parts of the toolchains. Your responsibilities will range from supporting new hardware and platforms to developing features to make debugging even better. Most of your work will be open source where you’ll collaborate with the LLVM and Swift communities.
Job Title: Compiler Integration Engineer - Role Number: 200425778
Job Description: The Compiler Tools and Integration team at Apple is looking for an engineer to drive the process of integrating and qualifying the clang and swift compilers. In this role you will engineer solutions and tools to deliver compiler changes more quickly and improve on compiler quality. In addition to finding technical solutions to problems, you will be involved in coordinating between multiple teams within Apple and the open source community.
Company Description: We believe that AI is a net positive force in the world. Our vision and mission are to help rebuild AI infrastructure to advance humanity and our environment. We will do whatever it takes to empower our customers, team, and company to benefit from that pursuit. You can read about our culture and careers here to understand how we work and what we value.
We are owners and advocates for the underlying technologies, developer platforms, product components, and infrastructure. These essential building blocks form the high-quality and coherent experiences our users expect. We aim to drive the pace of innovation for every AI/ML developer.
Company Contact: Mike Edwards - llvmjobs2022@modular.com
Job Title: AI Compiler Engineer
Job Description: LOCATION: This role is based out of North America. You can work out of one of our offices in Palo Alto, CA or Seattle, WA, or remotely from home.
What you will do:
Build MLIR and LLVM-based compilers and tools for machine learning applications.
Build scalable and high-quality infrastructure using well-established and emerging techniques, and push the boundaries of compiler design.
Analyze and improve performance across multiple different architectures and ML frameworks.
Work with runtime, frameworks, and kernel teams to provide a balanced stack that fully utilizes today’s complex server and mobile systems.
Collaborate with architects and hardware engineers to co-design future accelerators, including ISA for new hardware features and evolving ISA.
Collaborate with machine learning researchers to guide compiler development for future ML trends.
What you bring to the table:
5+ years of compiler engineering experience.
Experience working with compilers for machine learning or HPC.
Strong knowledge of core compiler algorithms and data structures.
Strong knowledge of and experience working with MLIR and LLVM. In-depth knowledge of C++, as well as, knowledge of basic GitHub workflows like pull requests.
Experience working with distributed/parallel programming models, hardware accelerators, polyhedral or search-based compilation.
Creativity and curiosity for solving complex problems, a team-oriented attitude that enables you to work well with others, and alignment with our culture.
Advanced degree in Computer Science or a related area is a plus.
What Modular brings to the table: Amazing Team. We are a progressive and agile team with some of the industry’s best engineering and product leaders. Flexible Location. We want you to work where you are most productive and we are a remote-first company. We have offices in Palo Alto, CA and Seattle, WA for collaboration, and will open more next year. World-class Benefits. In order to attract the best, we need to offer the best. Premier insurance plans, up to 5% 401k matching, very generous WFH setup stipends, flexible paid time off, and more are available to you! Please note that specific benefit packages may vary based on your location. Competitive Compensation. We offer very strong compensation packages, including stock options. We want people to be focused on their best work and believe in tailoring compensation plans to meet the needs of our workforce. Team Building Events. We organize regular team onsites and local meetups in different cities.
Job Title: AI Programming Language Engineer
Job Description: About this role:vML developers today face significant friction taking trained models into production and struggle to use diverse accelerators due to the difficulty working with their tools. They work in a highly fragmented space, with incomplete and patchwork solutions that require non-generalizable/ model-specific enhancements and work-arounds for fragile tools. At Modular, we are building the next generation AI platform that will radically improve the way developers build and deploy AI models.
As an AI Programming Language Engineer, you will work with world leaders to implement a novel programming language for full spectrum machine learning and heterogeneous compute applications. This includes a compiler as well as related developer tooling.
LOCATION: This role is based out of North America. You can work out of one of our offices in Palo Alto, CA or Seattle, WA, or remotely from home.
What you will do:
Design and implement a compiler frontend and source tooling for a novel programming language in a machine learning context.
Utilize your knowledge of parsing, semantic analysis, type systems and IR generation to build expressive programming models focused on usability.
Implement a “next generation” compiler architecture building on the capabilities of MLIR, distributed compilation, and other established technologies.
Collaborate with other teams at Modular to build a balanced technology stack that fully utilizes today’s complex server and mobile systems.
Collaborate with machine learning researchers and other users to guide the project’s evolution.
What you bring to the table:
We are hiring for many levels of seniority, but require a minimum of 3 years of compiler front-end experience working on a front-end for an LLVM based compiler: Swift, Rust, Julia, Clang, etc
Job Title: AI Framework Engineer
Job Description: About the role: At Modular, we are building the next generation AI developer platform, a core part of which is developing a high-performance Framework software stack. The Modular Framework stack "just works" across cloud and edge environments, and compute hardware types (CPU, GPU, AI accelerators). Come and be part of our world-leading AI team and contribute to this important piece of technology driving the next wave of innovation here at Modular!
LOCATION: This role is based out of North America. You can work out of one of our offices in Palo Alto, CA or Seattle, WA, or remotely from home.
What you will do:
Build, optimize, and contribute to machine learning frameworks such as TensorFlow, PyTorch, and ONNX/ONNXRuntime.
Ensure that existing and up-and-coming accelerators are high performing and work with ML frameworks inside the Modular runtime.
Work with compiler, performance, and kernel teams to provide a foundation that fully utilizes today’s complex server, mobile, and other production systems.
Collaborate with open source engineers to help facilitate the future of ML software stacks.
What you bring to the table:
4+ years of systems design experience such as HPC, kernel development, low-level threading, high-performance concurrency, etc.
Experience with working on or contributing to a major machine learning framework such as TensorFlow, PyTorch, and/or ONNX/ONNXRuntime is a bonus.
In-depth knowledge of modern C++ is required, LLVM, MLIR, or Python experience is a bonus.
Ability to utilize and work within traditional GitHub workflows such as pull requests.
Strong collaboration skills, ability to share information with internal and external engineering teams.
Experience, or deep interest, in machine learning technologies and use cases
Creativity and curiosity for solving complex problems, a team-oriented attitude that enables you to work well with others, and alignment with our culture.
What Modular brings to the table:
Amazing Team. We are a progressive and agile team with some of the industry’s best engineering and product leaders. Flexible Location. We want you to work where you are most productive and we are a remote-first company. We have offices in Palo Alto, CA and Seattle, WA for collaboration, and will open more next year.
World-class Benefits. In order to attract the best, we need to offer the best. Premier insurance plans, up to 5% 401k matching, very generous WFH setup stipends, flexible paid time off, and more are available to you! Please note that specific benefit packages may vary based on your location.
Company Description: Arm’s processors are shipped in billions of products, across a huge range of markets, each with unique code generation challenges. LLVM is a foundational code generator for our CPUs, GPUs and Machine Learning accelerators. For example, in the past year, 75 Arm engineers contributed to LLVM, in areas such as performance optimization, security hardening, support for new instructions and many more.
Company Contact: Kristof Beyls - kristof.beyls@arm.com
Job Title: Many LLVM-related jobs at Arm
Job Description: Your skills and knowledge of compiler fundamentals, and your passion to learn from and contribute to the LLVM community will help us develop innovative technologies that improve the performance and security of the entire field of computing.
Arm always has lots of LLVM-related job vacancies open.
Company Description: Founded in 1987, Huawei is a leading global provider of information and communications technology infrastructure and smart devices. We invest heavily in fundamental research, concentrating on technological breakthroughs that drive the world forward. We have more than 180,000 employees, and we operate in more than 170 countries and regions. Huawei's Heterogeneous Compiler Lab based in Toronto, Canada, is one of the fastest growing teams in the field of compilation technology.
Company Contact: Shivani Bhardwaj - shivani.bhardwaj@huawei.com
Job Title: Junior Compiler Software Engineer
Job Description: Be a team player in a fast-paced R&D environment, where you will work on:
- LLVM-based compilers targeting next-generation mobile, network, or server hardware;
- Language runtimes for new programming languages (typically Clang- or Rust-based);
- Concurrent programming frameworks and distributed systems that can scale from embedded devices to cloud services; and/or
- Analysis and optimization of software stack performance, such as deep learning frameworks or HPC applications.
Job Title: Senior Compiler Software Engineer
Job Description: As an experienced member of the team, you will contribute in the following ways:
- Design and implementation of software to satisfy business requirements in a wide range of products;
- Analysis and optimization of software stack performance, such as deep learning frameworks or HPC applications;
- Research software/hardware co-design techniques and help exploit such opportunities in our LLVM-based compilers;
- Pitch innovation ideas, start new seed projects, and publish research papers at top conferences; and/or
- Mentor junior developers through education sessions and code reviews.
Job Title: Principal Software Engineer, Compiler
Job Description: Our mission is to leverage innovative programming technologies to improve the performance of Huawei products, as well as the productivity of developers in the Huawei ecosystem. To achieve these goals, we conduct research and development in a variety of areas including, but not limited to compilers, language runtimes, system-level exploitation of machine learning/artificial intelligence frameworks, and concurrent/distributed systems.
As a Principal Software Engineer, you will be tasked with leading R&D in our LLVM-based compiler technology stack. Your responsibilities include:
- Liaising with internal and external stakeholders, determining project and feature requirements, and creating development plans for software productization;
- Leading the design and development of software to satisfy business requirements in a wide range of products;
- Analysis and optimization of software stack performance, such as deep learning frameworks or HPC applications;
- Researching software/hardware co-design techniques and exploiting such opportunities in our compilers;
- Researching industry trends and paradigms, and proposing new technical directions for the Lab;
- Leadership in scrums, reviews, and project planning, and team building; and
- Mentoring junior developers through education sessions, code reviews, and career development advice.
Company Description: MATLAB® and Simulink® are the programming languages of engineering. We build languages using state-of-the-art compiler technologies such as LLVM, Halide, and MLIR to meet our customers’ stringent demands—for speed, memory, area, standards compliance, or even readability. We empower our customers to implement their ideas and enable them to deploy their solutions to CPUs, GPUs, and FPGAs. Our customers and products span domains including Deep Learning, Machine Learning, and Embedded Code Generation.
Company Contact: Akshatha Bhat - akshathb@mathworks.com
Job Description: MATLAB® and Simulink® are the programming languages of engineering. You will be working on MathWorks compiler programming to enable our customers to implement their ideas on desktops and in the cloud, and deploy their solutions to CPUs, GPUs, and FPGAs. Develop just-in-time compilation for the highly dynamic MATLAB language. Or develop advanced compiler optimizations to meet our customers’ stringent demands—for speed, memory, area, standards compliance, or even readability. Our customers deploy their solutions into small and large devices, into the cloud, and into space. Code generated by MathWorks tools is all around you.
Because of the breadth of work we do, compiler jobs at MathWorks cover all the ends: front, middle, and back. If you love geeking out with SIMD intrinsics, parsing rich languages, developing interprocedural analyses, designing elegant intermediate representations, playing with assembly code, abstractly interpreting code, partially evaluating expressions, reasoning about parallel programming semantics, or working on efficient runtime systems, we’ve got a job for you.
Our team is collaborative, high energy, talented, and technical. Join us and take part in the software revolution powering engineering, and drive ideas from conception to shipping.
Company Description: MediaTek is the world’s 4th largest global fabless semiconductor company. We are market leaders in developing innovative SOCs for mobile device, home entertainment, connectivity and IoT products. Ultimately, we power more than 2 billion devices a year – that’s in 20 percent of homes and nearly 1 of every 3 mobile phones globally.
Company Contact: Vince Del Vecchio - vince.delvecchio@mediatek.com
Job Title: Compiler Architect
Job Description: We're looking for exceptional engineers to join our team and develop the high performance compilers and toolchains for our 5G and next-gen wireless modems. You'll be able to influence the company's prospects both through compiler development and by contributing to processor architecture for modem products. We're particularly interested in:
- Parallel programming paradigms
- Linker technology and link-time/post-link optimizations
- Loop code generation and scheduling
- Using machine learning in compilation
- Compiler and processor codesign