30 days old

Software Engineer

Cupertino, CA 95014
  • Job Code
    200190583
  • Jobs Rated
    8th
Summary

Summary

Posted: Sep 22, 2020

Role Number:200190583

Apple's GPU Software team develops Metal, an API for GPU programming that allows efficient use of the GPU and minimizes CPU overhe...Summary

Summary

Posted: Sep 22, 2020

Role Number:200190583

Apple's GPU Software team develops Metal, an API for GPU programming that allows efficient use of the GPU and minimizes CPU overhead. It has enabled developers to achieve far greater realism, detail, and interactivity in their games. It is the foundation for utilizing the GPU across all of Apple's innovative products, from iPhone, iPad, and iPod touch, to Apple TV, and MacOS, as well as Apple's professional and consumer applications from Final Cut and Aperture to iLife and iWork. Apple Silicon GPU Drivers provides the lowest layer of software stack that directly interacts with the Apple Silicon GPUs to support Metal. It is fundamental to the performance and quality of the user experience on all Apple Silicon devices.

Metal is Apple's foundational graphics API for GPU programming that provides up to a 10x increase in efficiency by minimizing CPU overhead. This dramatic increase in efficiency allows developers to achieve greater realism, detail, and interactivity in their applications and games.

The GPU Software group is directly responsible for the development of the GPU driver for Apple SoCs. Its responsibilities span the lifecycle of a new product from initial specification of new GPU features all the way to supporting and validating these features on presilicon models, silicon bringup and ultimately production software. The group has teams working on different parts of the software stack, including Metal framework/graphics APIs, User mode driver, Compiler, Translator, Kernel mode driver and Firmware.

The team collaborates with other teams to ensure the driver supports new hardware features and is ready for the next generations of GPU graphics rendering and compute techniques. These teams include
- Wider software organization (iOS, Metal framework, etc.)
- Hardware design, verification, performance and architecture teams
- Build and test automation teams

The GPU software team is looking for a first class engineer for system software and embedded systems roles in the team

Key Qualifications

  • Excellent programming skills and knowledge of C/C++
  • Device drivers or Operating systems design and development
  • Knowledge of real time operating systems
  • Low-level programming experience
  • Excellent software design, problem solving and debugging skills
  • Knowledge of CPU/GPU architectures
  • Strong communication and teamwork skills

Description
- Software driver feature development to support existing graphics APIs on new GPU architectures
- Implement new Metal features enabled on these GPUs.
- Implementation and debugging of graphics and compute applications
- Implement Kernel mode driver and firmware features for the GPU, which include Memory management, Resource tracking, Scheduling, Power management for the GPU and Firmware
- Integrate GPU Drivers into iOS/watchOS/macOS
- Validate new features and existing features on PreSilicon and post-silicon
- Pre-Silicon and post-silicon bring up of GPUs

Education & Experience

Technical BS/MS degree

Additional Requirements

  • Bonus: Solid understanding of real-time graphics concepts and algorithms
  • Bonus: Experience with Metal, DirectX, Vulkan or OpenGL


Jobs Rated Reports for Software Engineer

Posted: 2020-09-24 Expires: 2020-10-24

Before you go...

Our free job seeker tools include alerts for new jobs, saving your favorites, optimized job matching, and more! Just enter your email below.

Share this job:

Software Engineer

Apple, Inc.
Cupertino, CA 95014

Join us to start saving your Favorite Jobs!

Sign In Create Account
Software Engineer
8th2017 - Software Engineer
Overall Rating: 8/199
Median Salary: $100,690

Work Environment
Good
53/199
Stress
Very Low
24/199
Growth
Very Good
32/199
Powered ByCareerCast