CPU Performance Simulation Engineer
Portland, Oregon, United States
Are you forever advocating for a better way to do things? Do you believe that automation is key to advancement? Do you derive satisfaction from empowering others as well as yourself to work more productively? Enable something remarkable that makes a difference. Use your skills to solve demanding challenges. Apple is seeking an experienced software engineer who can architect and implement CPU simulators as a member of the CPU Architecture and Performance Team; we are a group that is driving advanced exploration for next generation CPU architectures.
- MS or Ph.D. with more than 3 years of experience developing high-performance, robust, and extensible software
- Deep understanding of simulation strategies and CPU performance models
- Strong familiarity with CPU architecture and microarchitecture, as well as the ARM architecture
- Top-notch coding skills, including object-oriented programming with C and C++
- Thorough understanding of common data structures and algorithms
- Knowledgeable in software design patterns
- Excellent communication and technical documentation skills
- Knowledge of visual/UI or data analysis frameworks a plus
- Knowledge of OS internals and compiler technology a plus
We are seeking an experienced software engineer for an opportunity to have real impact on the methodology by which we explore groundbreaking CPU designs. You’ll be architecting new CPU simulator features and brainstorming novel ideas to boost simulation performance. You’ll collaborate with world-class CPU and SoC Architects to steer and improve the implementation of CPU simulators and performance models used for research, performance analysis, and microarchitecture tuning. This includes supporting the integration of CPU software models with other models. We also develop visualization frameworks to help with data analysis and the fervent drive for insight into system power or performance bottlenecks.
Education & Experience
BS, MS, or PhD in Electrical or Computer Engineering, Computer Science, or related field