Platform Architect: iOS Workload Characterization and Modeling
Santa Clara Valley (Cupertino), California, United States
Imagine what you could do here. At Apple, new ideas have a way of becoming extraordinary products, services, and customer experiences very quickly. Bring passion and dedication to your job and there's no telling what you could accomplish. Dynamic, smart people and inspiring, innovative technologies are the norm here. The people who work here have reinvented entire industries with all Apple Hardware products. The same passion for innovation that goes into our products also applies to our practices strengthening our commitment to leave the world better than we found it. Join us to help deliver the next groundbreaking Apple product. Do you love working on challenges that no one has solved yet? As a member of our dynamic group, you will have the unique and rewarding opportunity to craft upcoming products that will delight and inspire millions of Apple’s customers every single day. Are you ready to make an impact and transform hardware technology? We are searching for a talented new MS or PhD graduate to join our exciting team of problem solvers and innovators. In this role, you will be a member of a System-on-Chip (SoC) Architecture team, working with hardware and software engineering groups to shape the architecture of future Apple SoCs.
- You will have experience and interest in several of the following areas:
- C/C++ performance and power modeling/simulation of a CPU, GPU, or other SoC component.
- Interactions and data flows between CPUs, GPUs, Camera/Video, and I/O components.
- System software concepts including inter-process communication, synchronization, interrupts, cache coherence, memory ordering, and memory-mapped I/O.
- Exploring, understanding, and prototyping changes to large C/C++/Assembly codebases.
- Comfortable programming in C, C++, the Unix shell, and at least one scripting language.
- Correlation of simulation results with other simulations, expectations, and silicon measurements.
- Familiarity with processor or SoC design and validation processes and best practices.
- Using sound software development methodologies to create scalable, maintainable workflows.
You will drive accurate performance and power projection of complex, realistic workloads on a full-system simulator. Your work will be highly visible and critical to driving architecture decisions that maximize the performance and energy efficiency of future Apple SoCs. You will collaborate with teams at many layers of the hardware/software stack: - Deeply understand the operation of current and planned Apple products, from application software to system software to SoC architecture and microarchitecture. Disseminate multi-functional, system-level understanding across the silicon design organization. - Develop a workload capture infrastructure to capture enough details of a workload on a real device to accurately simulate its performance and power on proposed future architectures, and to estimate the impact of hardware and software changes on the current architecture. - Develop the infrastructure to play back workload traces captured from a device in Apple’s C++ SoC simulation infrastructure, correctly respecting dependencies and mapping the operation of the existing SoC onto the proposed capabilities of future SoCs. Support multiple levels of abstraction to enable sound SoC architecture decisions during all phases of the design cycle. - Collaborate with the performance simulation and power teams so that the simulator outputs enough information to be used for trustworthy system-level power estimation. - Perform detailed, repeatable analysis of simulated and measured data. - Clearly document and communicate findings from device capture and simulation results throughout the company to enable data-driven SoC- and product-level decision-making. - Participate in architecture definition for future SoCs and tuning for existing SoCs and software based on your findings.
Education & Experience
- Masters or PhD in EE, CS, or related field preferred