Qualcomm's Adreno GPU has been the industry leading mobile graphics solution in today's Android smart phone market worldwide. Our power efficient GPU solution is fundamental to enable the new exciting markets like VR/AR, IoT, AI, drone, autonomous driving etc. GPU compiler is a key component of graphics solution. We are looking for talented engineers to create world class GPU compiler products to enable high performance graphics and compute with low power consumption.
This position will be responsible for research, analysis and improvement of Qualcomm's Adreno GPU compiler and system performance to our worldwide customers. Based on the analyses and experiments on real world GPU applications, and investigation/prototyping of compiler optimizations, there will be opportunities to influence performance of games, applications, and hardware design, through interactions with graphics driver, architecture, and game development.
Responsibilities for GPU compiler performance engineer:
- Profile and characterize trending GPU benchmarks and applications (games, HPC, AR/VR and AI)
- Use/develop tools to identify performance bottlenecks and study optimization heuristics
- Propose/prototype improvements in compilers and GPU architecture to tackle identified bottlenecks
- Provide programming guide to help developers get better performance on Qualcomm GPUs
Ideal candidate will have:
- Broad compiler knowledge, development, and optimization experience
- Deep understanding of computer architecture (GPU, memory, data layout, etc.) and performance tradeoffs
- Understanding of parallel computing on multi-core CPU, GPU, or heterogeneous systems
- Extensive experience with benchmarking and performance analysis and tuning for parallel applications
- Good communication skills and teamwork spirit, reliable and self-motivated
Preferred Qualifications:
- Graphics shader programming (OpenGL, Vulkan, DirectX, or others) or OpenCL/CUDA/SYCL kernel development
- Experience with performance profiling and modeling for games, HPC, AR/VR, or AI applications
- Experience with machine learning / deep learning tools (scikit learn, tensorflow, or others)
Principal Duties and Responsibilities:
- Leverages advanced GPU knowledge and experience to architect, design, implement, verify, and/or optimize the performance and power of GPU cores.
- Builds functional model simulations, develops software, and tests for various graphics to verify correctness and ensures advanced performance and power goals are met.
- Designs, programs, and runs comprehensive graphics tests using tools and methods under different scenarios and benchmarks to verify functionality, performance, power, and stability and identify issues.
- Collaborates with cross-functional teams, third-party vendors, and external users to guide implementation and ensure alignment with needs and goals.
- Develops critical driver and compiler software to support GPU products.
- Writes detailed technical documentation and feature descriptions for complex GPU projects to guide users and/or customers to implement output.
Level of Responsibility:
- Works independently with minimal supervision.
- Provides supervision/guidance to other team members.
- Decision-making may affect work beyond immediate work group.
- Requires verbal and written communication skills to convey information. May require basic negotiation, influence, tact, etc.
- Has a moderate amount of influence over key organizational decisions.
- Tasks require multiple steps which can be performed in various orders; some planning, problem-solving, and prioritization must occur to complete the tasks effectively.