GPU Machine Learning Engineer

QualcommSan Diego, CA
18d

About The Position

The Qualcomm GPU Software team is looking for talented software engineers interested in developing software for the latest Machine Learning models on the next generation of devices. 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 on Graphics software stack and Machine Learning SDKs and frameworks on Android, Linux and Windows. As a GPU Software Machine Learning 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, implementation of the latest Machine Learning models including LLMs and LVMs, writing samples and documentation, implementing interfaces to Machine Learning frameworks, development of unit tests and working with our partners, external developers, and OEMs.

Requirements

  • Strong C/C++ programming skills
  • Strong knowledge of Machine Learning Theory
  • Familiarity with a Deep Learning Framework such as Pytorch
  • 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
  • Bachelor's degree in Applied Mathematics, Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or related field.
  • Knowledge of one or more programming language suitable for graphics (e.g., C++, C).

Nice To Haves

  • Device driver development, including GPU or CPU
  • Programming experience with Graphics APIs such as OpenGL ES/Vulkan/DX11/DX12
  • Knowledge of GPGPU application development including Mathematical Operations and Image Processing.
  • Exposure to Embedded systems and Real-time operating systems
  • Experience working with ARM architecture
  • Familiarity with Git or other SCM tools
  • Master's Degree in Applied Mathematics, Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or related field.
  • 1+ 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.)
  • 1+ 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.)

Responsibilities

  • Acceleration of Machine Learning operations for inference and training on the GPU
  • Implementation of the latest Machine Learning models including LLMs and LVMs
  • Writing samples and documentation
  • Implementing interfaces to Machine Learning frameworks
  • Development of unit tests
  • Working with our partners, external developers, and OEMs
  • 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.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service