## Requirements
- Currently pursuing a BS, MS, or PhD in Computer Science, Electrical Engineering, Computer Engineering, Electrical and Computer Engineering, or a related field
- Strong coding skills with C or C++
- Strong understanding of common data structures, algorithms, and design patterns
- A curiosity about GPU / CPU / SOC architecture and micro-architecture
- Knowledge of scripting languages such as Perl, Python or Ruby
## Nice to Haves
- Strong interpersonal and analytical skills
- Ability to work well within a team and be productive under tight schedules
- Familiarity with SystemVerilog / Verilog / VHDL
- Experience optimising rendering/parallel compute algorithms, drivers and/or compilers for one or more GPU architectures
- Prior experience on hardware architectural modelling and hardware description languages
- Experience with one or more GPU APIs (Metal, DX12, Vulcan, CUDA, OpenGL, OpenCL)
- Knowledge of performance simulation environments
- Knowledge of software design patterns
## What You'll Be Doing
- Building experience interpreting hardware specifications alongside architects, micro-architects, modellers, and designers
- Developing GPU workloads, automated flows, and tools to support GPU design verification
- Analyzing performance of existing and future looking workloads
- Proposing new features and researching novel ideas to boost GPU performance
- Evaluating, iterating, and tuning ideas using performance and energy models
- Collaborating in a larger architecture and performance team to maintain and improve the simulation environment
## Perks and Benefits
- Joining a dynamic group working on cutting-edge products
- Opportunity to craft products that will delight and inspire millions of Apple’s customers
- Working with inspiring, innovative technologies
- Reinventing industries with Apple Hardware products
- Strengthening commitment to leave the world better than we found it