SoC Performance Modeling Software Architect
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. Our you ready to join our team and revolutionize System-on-Chip development? In this role, you will be a member of a System-on-Chip team, working with our various hardware and software engineering groups to shape the architecture of Apple's future devices.
- You will have experience and interest in several of the following areas:
- 8+ years of SOC design and architecture experience
- C/C++ performance modeling/simulation of a CPU, GPU, or other SoC component.
- Best practices for ensuring high code quality, performance, reuse, and modularity in large software projects.
- Proficient in C++, the Unix shell, and at least one scripting language.
- System software concepts including inter-process communication, synchronization, interrupts, cache coherence, memory ordering, and memory-mapped I/O.
- Exploring, understanding, and extending large C/C++/Assembly codebases.
- Correlation of simulation results with other simulations, expectations, and silicon measurements.
- Interactions and data flows between CPUs, GPUs, Camera/Video, and I/O components.
- Familiarity with processor or SoC design and validation processes.
You will be a primary architect of a C++ full-chip performance modeling platform. Our platform enables accurate performance and power projection for complex, realistic workloads. Your work will be highly visible and critical to improving the performance and energy efficiency of our future Apple SoCs. You will collaborate with teams at many layers of the hardware/software stack. Bring your deep understanding of the architecture, operation, and hardware/software interface of current and planned Apple SoCs. Disseminate cross-functional, system-level understanding across the silicon design organization. Design and develop foundational libraries and APIs to enable seamless interoperability between performance models of different SoC blocks and different levels of detail. Design and carry out performance studies using the simulation platform, and communicate the results to inform SoC architecture decisions. Make the simulator an early prototyping platform for software and firmware algorithms related to power and performance control and resource allocation. Use and disseminate software engineering best practices, such as continuous integration and code review, to ensure high quality and maintainability in a project developed across multiple teams and sites. Design and develop simulator features and analysis tools to enable accurate, automated correlation between the simulator and RTL or silicon, and performance regression testing of the simulator itself and the simulated SoC.
Education & Experience
Masters or PhD in CS, EE, or related field preferred