Job description
Engineering Group, Engineering Group > Software Engineering
General Summary:
We are looking for an experienced AI Performance System Software Engineer to drive performance and power enhancements into the SW and HW stacks and SW tools of state-of-the-art machine learning solutions on Snapdragon platform.
As a senior member of the team responsible for AI performance on Snapdragon compute platform, you will have opportunity to represent requirements of Windows on Snapdragon application developers for multiple AI use-cases and ensure the Snapdragon AI platform, and tools deliver the industry leading performance and power through automated app development workflows. You will also drive technical initiatives to continuously evolve the benchmarking and optimization of reference AI networks that will serve as relevant, minimum performant examples to application developers for Windows on Snapdragon. You will drive improvements into the SW stack including SDK, Tools, and documentation that will directly impact the ease of use and performance realization by Windows Application Developers on Snapdragon. You will work closely with development leads, software and hardware architects, project engineers, product managers, customer engineers, OEMs, OS partners and application developers.
Ideal candidate has extensive experience in architecture aware AI Model system SW performance optimization on Windows PC/Laptop, architecture aware benchmarking, and performance breakdown analysis with GPU, NPU, and knowledge of state of the art in AI for one or more of the domains such as Computer Vision, Audio, Generative AI.
Responsibilities:
• Understand trends in ML network design, through customer engagements and latest academic research, and determine how this will affect both SW and HW design
• Analyze ML/AI algorithms and workloads on exploratory and existing Qualcomm HW and SW stacks through simulation and on-device characterization
• Be the gate keeper for performance on comprehensive AI benchmark data on Windows on Snapdragon
• Define, model and tune algorithms for ML/AI using compilers, kernels and HW features to improve mappings of ML/AI workloads on NPU, GPU, CPU on Snapdragon
• On-device correlation and tuning of algorithm versus pre-silicon predictions
• Drive the creation and enhancement of AI performance debug, analysis, and optimization tools for AI application development for Windows on Snapdragon
• Interface with other cross-site and cross-functional teams to arrive at best-in-class performant reference implementations, tools, and documentation that are directly leveraged by 3rd party app developers
• Contribute new features and designs to system design of future SoCs that reduce performance bottlenecks through the workflow
Skills and Experience:
• Excellent understanding of AI frameworks (e.g., TensorFlow, PyTorch), GPU programming, and parallel computing. Experience with large language models/foundational models development and deployment a plus
• Good Understanding of complete AI Software stack and familiarity with AI hardware acceleration technologies
• Experience with performance optimization of AI application on Windows using processor specific optimization tools/libraries/primitives on GPU, NPU
• Experience in modeling AI networks and workloads to extract performance and power estimates, and converting that into optimization
• Strong background in algorithm development, performance analysis using profiling tools, and algorithmic modification methods for performance improvement is essential
• Knowledge of state of the art in AI for one or more of the domains such as Computer Vision, Audio, Generative AI
• Knowledge of computer architecture, embedded system implementations
• Strong software engineering principles are essential
• Proficiency in programming languages such as Python, C++
• Excellent communication skills to articulate complex technical concepts to non-technical and technical stakeholders.
• Strong leadership abilities to motivate and guide development teams.
• Detail-oriented with strong problem-solving, analytical, and debugging skills with the ability to think strategically and drive innovative solutions.
• Demonstrated ability to learn, think and adapt in a fast-changing environment
• Familiarity with software development methodologies, version control systems, and agile project management practices.
• 12+ years experience in High Performance Computing System Engineering or Software with 5+ years in AI system optimization
• Masters or PhD in Computer Science or Electrical Engineering
Minimum Qualifications:
• Bachelor's degree in Computer Science, Engineering, Information Systems, or related field and 6+ years of Hardware Engineering, Software Engineering, Systems Engineering, or related work experience.
OR
Master's degree in Computer Science, Engineering, Information Systems, or related field and 5+ years of Hardware Engineering, Software Engineering, Systems Engineering, or related work experience.
OR
PhD in Computer Science, Engineering, Information Systems, or related field and 4+ years of Hardware Engineering, Software Engineering, Systems Engineering, or related work experience.