
Silicon Validation Software Engineer - GPU IP Validation and Integration
Apple • Cupertino, California, United States
Role & seniority: Software engineer (likely mid to senior level) in Silicon Technologies focusing on graphics validation and SoC system-level testing.
Stack/tools: GPU shader development; OpenGL, CUDA; graphics/image processing; memory hierarchy (Shared/Global); C/C++, Python, GNU Make; driver/firmware APIs; system-level test environment; ML/LLM workloads for GPU characterization.
Top 3 responsibilities
-
Write shaders to stress the GPU and drive high memory bandwidth traffic to exercise the SoC IP blocks.
-
Develop tests that stress the pipeline and validate GPUSoC interactions, using driver/firmware APIs to compile and execute workloads.
-
Debug SoC software/hardware issues and perform system-level validation in a test environment.
Must-have skills
-
Bachelor's degree in electrical/computer engineering or related field.
-
Strong C/C++ programming; proficient Python; experience with OpenGL/CUDA.
-
Knowledge of graphics, memory hierarchies, compilers; ability to implement and run ML/LLM workloads for GPU characterization.
-
Understanding of compute systems, operating systems, and computer architecture; ability to debug close-to-hardware code.
Nice-to-haves
-
Experience with image processing, display pipeline knowledge.
-
Deep experience in SoC system-level validation and debugging of SoC software/hardware issues.
Location & work type: Location not specified; work type not specified.
Full Description
Do you love creating elegant solutions to highly complex challenges? Do you intrinsically see the importance in every detail? As part of our Silicon Technologies group, you’ll help design and manufacture our next-generation, high-performance, power-efficient processor, system-on-chip (SoC). You’ll ensure Apple products and services can seamlessly and efficiently handle the tasks that make them beloved by millions. Joining this group means you’ll be responsible for crafting and building the technology that fuels Apple’s devices. Together, you and your team will enable our customers to do all the things they love with their devices! Join a team of expert software engineers with diverse backgrounds (graphics, video encoding, video processing, file systems, CPUs and caching, kernel programming, embedded systems) to develop graphics validation software and integrate it into system level test environment.
DESCRIPTION
You will be writing shaders that stress the GPU and cause high bandwidth traffic to and from the memory subsystem. You will apply your deep understanding of GPU architecture to write tests that stress the pipeline and exercise the interaction between the GPU and different IP blocks on the SoC. You will use the necessary driver and firmware APIs to compile shaders and prime operations to move data around in the SoC using the GPU threads/SIMD groups. You will understand the different levels of GPU memory hierarchy (Shared, Global, etc.) You will debug SoC software and hardware issues, and perform system level validation.
MINIMUM QUALIFICATIONS
A minimum of a bachelor's degree in electrical engineering, computer engineering, or related field.
PREFERRED QUALIFICATIONS
Experience with Graphics, OpenGL, and CUDA Experience with image processing, memory hierarchies, and compilers Strong C/C++ programming skills Implement and run ML/LLM workloads for GPU characterization Proficient in Python and GNU Make Deep understanding of compute systems, operating systems, and computer architecture Passionate about writing code close to the hardware, and debugging
You enjoy the validation mentality: meticulous, curious, and persistent. Understanding of the Display pipeline is a plus. In-depth knowledge and experience in SoC system level validation and debugging of SoC software and hardware issues.