At Apple, our Platform Architecture group is responsible for connecting our hardware and software into one unified system. You'll collaborate with engineers across Apple to design how all of our technologies work in unison, drive development of our renowned system-on-a-chip architecture and develop forward-looking prototype systems and software...Our team is responsible for improving Apple silicon and Apple products through targeted analysis of GPU workloads and proposing improvements at all aspect of the GPU subsystem...In this role, you will analyze existing and new workloads to identify performance bottlenecks in the hardware and/or software architecture and implementation. Working with your colleagues, you will address performance limitations and provide recommendations for Apple hardware and software improvements...In addition to working directly with developers, you will identify patterns of current and emerging workloads, analyze their performance on Apple silicon, Provide feedback to the silicon and software teams for potential improvements.
Analyze GPU workloads performance and bottlenecks various devices. Implement and/or suggest improvements to remove the identified bottlenecks.Build targeted microbenchmarks to help understand strengths and weaknesses of various GPUs and usage patterns.Guide the development of forward looking GPU workloads to best represent where the industry is headed.Help improve Apple products by identifying areas of improvements at the GPU architecture and implementation, driver, compiler and API level.
Bachelor's degree or equivalent job-related experience in Computer Engineering, Computer Science, or a related field20+ years of work experience in GPU software performance optimizationKnowledge of computer architecture fundamentalsBackground in software engineering, performance analysis tools, methods, and the performance optimization processExperience and proficiency in some of the C/C++ family programming languages, and scripting languages such as PythonExperience and proficiency with all popular high level graphics APIsExperience in software development for GPUsExperience with AI, graphics, or other GPU performance benchmarks and workloads
Someone who views performance problems as a challenge, a puzzle to solveExperience with GPU performance toolsExperience profiling GPU workloads to understand performance issuesSystem wide understanding of data and command flow: from developer to silicon and the layers in between including high level graphics APIs, driver, firmware, compiler down to the GPU hardware implementationAbility to prototype and benchmark algorithms on GPU,, analyze performance metrics, and create high-level complexity modelsKnowledge of operating system internals and compiler technologiesTechnical aptitude and curiosity. Ability to collaborate effectively with team members, partners, and stakeholders