General Summary:The Qualcomm GPU Software team is looking for talented software engineers interested in developing high performance kernels and runtimes for accelerating GPGPU operations such as Machine Learning and Image Processing.. The GPU Software team is responsible for delivering device drivers, extensions for Machine Learning and tools for Snapdragon chipsets, providing best in class performance, power, and features. This role will involve working with the Graphics software stack on Android, Linux and Windows.
As a GPU Software Kernel Development Engineer, you are responsible for working with a team that is developing & optimizing Adreno GPU drivers for standard APIs such as OpenCL, OpenGL ES, Vulkan, and DirectX . You will be exposed to technology areas such as Image Processing and Machine Learning. This position requires close collaboration with hardware designers to understand, improve, and document hardware/software interfaces.
Responsibilities will include the acceleration of Machine Learning operations for inference and training on the GPU and working on runtimes and frameworks that support Machine Learning and other GPGPU operations. Additional responsibilities are - writing samples and documentation, development of unit tests and working with our partners, external developers, and OEMs.
Minimum Qualifications:• Bachelor's degree in Applied Mathematics, Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or related field and 2+ years of Software Engineering, Hardware Engineering, Systems Engineering, Electrical Engineering, Game Rendering, or related work experience.
OR
Master's degree in Applied Mathematics, Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or related field and 1+ year of Software Engineering, Hardware Engineering, Systems Engineering, Electrical Engineering, Game Rendering, or related work experience.
OR
PhD in Applied Mathematics, Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or related field.
• 1+ year of academic and/or work experience with one or more programming language suitable for graphics (e.g., C++, C).
Skills:- Strong C/C++ programming skills
- Familiarity with a GPGPU API such as CUDA or OpenCL.
- Understanding of data structures and algorithms, including object-oriented programming
- Excellent interpersonal and analytical skills with the ability to work independently
Optional, preferred skills:- Knowledge of Machine Learning Theory
- Familiarity with a Deep Learning Framework such as Pytorch
- Knowledge of GPGPU application development including Mathematical Operations and Image Processing.
- Device driver development, including GPU or CPU
- Programming experience with Graphics APIs such as OpenGL ES/Vulkan/DX11/DX12
- Exposure to Embedded systems and Real-time operating systems
- Experience working with ARM architecture
- Familiarity with Git or other SCM tools
Principal Duties and Responsibilities:• Writes code for well-defined features, drivers, and APIs using different languages (e.g., C, C++, Python).
• Assists in identifying deficiencies in designs and works with team members to develop solutions to improve designs.
• Collaborates with team members to understand new features and functionality that align with needs and goals for implementation and customization.
• Writes detailed design documentation and feature descriptions for projects.
Pay range and Other Compensation & Benefits: $116,900.00 - $175,300.00
The above pay scale reflects the broad, minimum to maximum, pay scale for this job code for the location for which it has been posted. Even more importantly, please note that salary is only one component of total compensation at Qualcomm. We also offer a competitive annual discretionary bonus program and opportunity for annual RSU grants (employees on sales-incentive plans are not eligible for our annual bonus). In addition, our highly competitive benefits package is designed to support your success at work, at home, and at play. Your recruiter will be happy to discuss all that Qualcomm has to offer - and you can review more details about our US benefits at this link.
If you would like more information about this role, please contact Qualcomm Careers.