
Machine Learning Framework Engineer
Responsibilities
Qualifications & Requirements
Experience Level: Senior Level
Full Job Description
Software Engineer - Machine Learning Framework (Staff)
Qualcomm India Private Limited is seeking a Staff Machine Learning Framework Engineer to join their dynamic Cloud Computing team. This role involves developing hardware and software solutions for Machine Learning (ML) across data center, edge, infrastructure, and automotive markets. You will engage in the full product lifecycle, from initial design to commercial deployment, in a fast-paced, cross-functional environment requiring strong communication, planning, and execution skills.
Job Overview:
The Qualcomm Cloud Computing team is at the forefront of developing cutting-edge ML solutions. We are looking for ambitious and innovative engineers with expertise in machine learning framework development to contribute to our success. You will collaborate with systems, hardware, architecture, and test engineers to design and implement system-level software solutions.
Key Responsibilities:
- Analyze software requirements and assess design feasibility within given constraints.
- Collaborate with architecture and hardware engineers to implement software solutions optimized for Qualcomm's System-on-Chips (SoCs).
- Identify and address system-level issues by interfacing with software development, integration, and test teams.
- Lead high-performing teams in system design and deliverables.
- Demonstrate a proven track record of leading teams in Machine Learning software engineering.
- Apply a strong foundation in mathematical modeling and linear algebra, along with state-of-the-art ML/AI algorithms.
- Improve and optimize key Deep Learning models on Qualcomm AI 100.
- Develop deep learning framework extensions for Qualcomm AI 100 within upstream open-source repositories.
- Collaborate with internal teams to analyze and optimize training and inference for deep learning workloads.
- Build software tools and enhance the ecosystem around the AI Software Stack.
- Work on Triton, ExecuTorch, Inductor, and TorchDynamo to create abstraction layers for inference accelerators.
- Optimize workloads for both scale-up (multi-SoC) and scale-out (multi-card) systems.
- Optimize the entire deep learning pipeline, including graph compiler integration.
- Adhere to software engineering best practices.
Desirable Skills and Aptitudes:
- Deep Learning experience or knowledge in areas such as LLMs, Natural Language Processing, Vision, Audio, and Recommendation systems.
- Familiarity with the structure and function of Pytorch and TensorFlow software stacks.
- Excellent C/C++/Python programming and software design skills, including debugging, performance analysis, and test design.
- Ability to work independently, define requirements and scope, and lead development efforts.
- Proficiency in open-source development practices.
- A strong developer with a research mindset, driven by innovation.
- Adept problem-solver capable of addressing key engineering and domain challenges.
- Knowledge of tiling and scheduling for Machine Learning operators is advantageous.
- Experience with C++ 14 advanced features.
- Experience in software profiling and optimization techniques.
- Hands-on experience writing SIMD and/or multi-threaded high-performance code is a plus.
- Experience with ML compilers and auto-code generation (using MLIR) is a plus.
- Experience running workloads on large-scale heterogeneous clusters is a plus.
- Hands-on experience with CUDA and CUDNN is a plus.
Minimum Qualifications:
- Bachelor's degree in Engineering, Information Systems, Computer Science, or a related field, plus 4+ years of Software Engineering or related work experience.
- OR Master's degree in Engineering, Information Systems, Computer Science, or a related field, plus 3+ years of Software Engineering or related work experience.
- OR PhD in Engineering, Information Systems, Computer Science, or a related field, plus 2+ years of Software Engineering or related work experience.
- 2+ years of work experience with programming languages such as C, C++, Java, or Python.
General Qualifications:
- Bachelor's / Master's / PhD degree in Engineering, Machine learning/AI, Information Systems, Computer Science, or a related field.
- 8+ years of Software Engineering or related work experience.
- 8+ years of experience with programming languages such as C++ or Python.
Company
Qualcomm
Qualcomm is a global technology leader renowned for its innovation in wireless technology and its pivotal role in driving digital transformation. The company is dedicated to creating a smarter, connec...