Summary
The CPU Compiler Performance Team welcomes applications from engineers with different levels of experience, passionate about advancing compiler-based optimization technologies. Our team is responsible for optimizing the code generation for Apple CPUs. We work across many different organizations, such as Hardware Architecture and OS teams, to generate high-performance code, tuned to Apple’s unique microarchitecture, to provide the best run-time performance and battery life to our customers. Most of the team’s work happens directly in the LLVM open-source project and gets presented at the LLVM Developer Meeting. Our team embodies diversity, collaboration, and creativity.
Description
In this role, you will be part of a highly motivated group of engineers dedicated to pushing compiler optimization technology to the next level. You will analyze diverse real-world workloads, including state-of-the-art applications and industry-standard benchmarks, to find opportunities to optimize the code taking advantage of micro-architectural features. In this HW/SW co-design role, you will have the opportunity to influence the architecture and micro-architecture of future Apple silicon.
You will also review and provide feedback on the work of your peers and collaborate with them on solutions to the problems they are working on. In this environment, you will continuously refine your expertise, explore new technologies, and engage in projects that bridge hardware and software teams. Your contributions will have a direct impact on every application running on all Apple devices, and your performance analysis will help guide the development of future platforms. If you believe you have additional skills not listed here that would make you a good candidate for this position, please feel free to include a cover letter describing those skills and their applicability to the position. If this is of interest to you, we'd love to hear from you!
Minimum Qualifications
- Strong C++ expertise
- Knowledge of common data structures like linked lists, sets, maps, and graphs
- Knowledge of common code optimizations and performance analysis
- Experience in debugging and testing large production code bases
- Ability to communicate clearly and effectively
Preferred Qualifications
- Hands-on experience developing compiler analysis and optimization passes is a big plus
- Experience working with LLVM or other open source project is a plus
- Experience in CPU architecture is a plus
- Experience in collaboration with teams across different organizations and timezones is a plus