About The Position

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! Join us to help deliver the next groundbreaking Apple product. In this role, you will be a member of the system-on-chip (SOC) performance team, working within the Hardware Technologies organization to shape the architecture of Apple's future devices. Our team initiates and fosters deep collaboration between the SOC architecture, design, power, and software teams, to deliver world-class caches/memory system. The end goal is to provide the best customer experience in the world by enabling all the CPUs, GPUs, Machine Learning, Camera, Display, and Connectivity components on our chips to work seamlessly together. We are seeking an upbeat and highly motivated SOC Performance Modeling SW Engineer to work on our performance models and infrastructure. You will be tasked with ensuring Apple's ability to produce high quality, timely data to drive world class hardware designs. You will collaborate with engineers across the organization to translate design space studies into well written software models. You will develop your ability to transform the hardware execution model into high-performance C++. You will be involved with the full life-cycle of performance modeling, from early architectural exploration to post-silicon correlation. Last, but not least, you'll be expected to pay close attention to the performance, maintainability, and flexibility of the simulator, making sure hardware architects can quickly iterate on experiments.

Requirements

  • Bachelor's degree Experience in hardware architecture and design issues
  • Experience coding in C++ and Python Experience with computer architecture and software engineering principles Experience with data structures and algorithms

Nice To Haves

  • MS or PhD in CS, EE or related field 3+ years of relevant experience
  • Experience with multi-paradigm software development in C++ Experience with multi-language programming environments, and selecting the right tool or language for the job
  • Experience with compiler explorer and understanding the transformations the compiler is performing on your code Experience thinking about code as something that will be read by both humans and machines, and instituting conventions, structure, and documentation that make a codebase tractable for AI-assisted reasoning and navigation
  • Experience with architectural, micro-architectural performance modeling
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service