CPU Performance Engineer
Santa Clara Valley (Cupertino), California, United States
Do you have an uncommon desire to seek out and solve exceedingly difficult challenges rather than the easy ones? Do you believe that truly valuable and meaningful accomplishments are the result of pushing the limits of perseverance? Do you believe that a world-class team with relentless drive can surpass even their own high expectations? We do! But we also realize this job isn’t for everyone. What we do isn’t easy but you don’t take the easy path. We are seeking a highly motivated, innovative, and confident individuals to join the CPU Architecture and Performance Team; we are a group that is driving advanced exploration for next generation iPhone, iPad, and Mac CPU architectures.
- You should have strong knowledge of CPU architecture and micro-architecture
- Be comfortable in an environment of uncertainty and able to work through ambiguities
- You will need strong communication, influence, and negotiation skills
- You will be working closely with others in a simulation environment to enable data driven decisions:
- Familiarity with performance and/or power simulation environments
- Strong coding skills including object-oriented programming with C and C++
- Strong understanding of common data structures and algorithms
- Knowledgeable in software design patterns
- Proficiency in scripting languages such as Perl, Python, or Ruby
- Knowledge of OS internals and compiler technology a plus
As a CPU Performance Engineer you will be part of a team that is defining and optimizing CPU micro-architecture. With others you will seek out areas for improvement while collecting data and measurements that either confirm the idea or rule it out. You will collaborate with experienced designers in micro-architecture and RTL to assess the feasibility of ideas, refine ideas, and seed new ones. The role requires the analysis of specific workloads across existing and new product categories to identify bottlenecks and opportunities for improvement. We collaborate as a larger CPU architecture and performance team to maintain and improve the simulation environment and look for ways to boost the productivity of the entire team.
Education & Experience
BS, MS, or PhD in Electrical or Computer Engineering or Computer Science.