yoinka

Principal GPU AI Kernel Development Engineer

Qualcomm

San Diego, California, United States of AmericaPrincipalH-1B sponsor company
Sign in to applyVerified 2h ago
Location
San Diego, California, United States of America
Work model
On-Site
Level
Principal
H-1B history
22 approvals (FY2023)
Posted
1d ago

Skills

AndroidDeep LearningGitLinuxMachine LearningPyTorchPython

About this role

Company: Qualcomm Technologies, Inc. Job Area: Engineering Group, Engineering Group > Graphics Software Engineering 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. 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 Minimum Qualifications: • Bachelor's degree in Applied Mathematics, Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or related field and 8+ 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 7+ years 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 and 6+ years of Software Engineering, Hardware Engineering, Systems Engineering, Electrical Engineering, Game Rendering, or related work experience. • 3+ years of work experience with one or more programming language suitable for graphics (e.g., C++, C). • 2+ years of relevant GPU experience. Preferred Qualifications: •    Master's Degree in Applied Mathematics, Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or related field. •    10+ years' experience with software development skills (e.g. data structure and algorithm design, object oriented or other software design paradigm knowledge, software debugging and testing, etc.) •   10+ years' experience with C++ programming experience •    Optimizing algorithms for GPU hardware using OpenCL or CUDA •    Experience with different NN architectures such as CNNs, LLMs, LVMs, etc. •    Background in mathematical operations (e.g. linear algebra, fast math libraries, etc.) 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

Principal GPU AI Kernel Development Engineer at Qualcomm, San Diego, California, United States of America | Yoinka