Company
Qualcomm India Private Limited
Job Area
Engineering Group, Engineering Group > Software Engineering
General Summary
As a leading technology innovator, Qualcomm pushes the boundaries of what's possible to enable next-generation experiences and drives digital transformation to help create a smarter, connected future for all. As a Qualcomm Software Engineer, you will design, develop, create, modify, and validate embedded and cloud edge software, applications, and/or specialized utility programs that launch cutting-edge, world class products that meet and exceed customer needs. Qualcomm Software Engineers collaborate with systems, hardware, architecture, test engineers, and other teams to design system-level software solutions and obtain information on performance requirements and interfaces.
Minimum Qualifications
- Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 8+ years of Software Engineering or related work experience.
- OR
- Master's degree in Engineering, Information Systems, Computer Science, or related field and 7+ years of Software Engineering or related work experience.
- OR
- PhD in Engineering, Information Systems, Computer Science, or related field and 6+ years of Software Engineering or related work experience.
4+ years of work experience with Programming Language such as C, C++, Java, Python, etc.
Detailed JD
==========
Job Description: CPU Software & Hardware Co-Design Engineer (ML Systems)
Show the full description
Location: Bangalore (or relevant)
Levels: Engineer / Senior Engineer / Staff / Principal Engineer
Role Overview
We are building a high-impact team at the intersection of CPU architecture, machine learning workloads, and system-level performance optimization. This role focuses on CPU software–hardware co-design for next-generation QMX architectures, including workload characterization, simulation, kernel optimization, and driving architectural insights for future CPU designs. The ideal candidate will work across the full stack—from ML models to low-level kernels to architectural feedback—enabling efficient execution of ML workloads on CPU platforms.
Key Responsibilities
1. ML Workload Identification & Characterization
Identify and prioritize critical ML use cases and models for CPU-centric execution (LLMs, vision, speech, recommender systems, etc.)
Analyze workload characteristics including
Compute intensity
Memory bandwidth and cache behavior
Parallelism and dataflow patterns
2. Simulation & Trace Generation
Generate detailed execution traces for ML workloads using QEMU or equivalent simulators
Develop tooling to
Capture instruction-level execution behavior
Extract performance counters and bottlenecks
Enable accurate modeling of workload behavior for architectural exploration
3. Bottleneck Analysis & Performance Optimization
Identify system bottlenecks across
CPU pipelines
Memory hierarchy
Instruction utilization
Optimize critical hotspots through
Kernel-level tuning
Algorithmic improvements
Data layout and memory optimizations
Drive measurable improvements in workload performance
4. Software–Hardware Co-Design
Collaborate with CPU architecture and design teams to
Provide data-driven insights from real workloads
Identify inefficiencies and propose architectural enhancements
Influence next-generation CPU features in