PE- CPU Software & Hardware Co-Design Engineer (ML Systems)
- Source: LinkedIn
- Qualcomm
- On-site
- Bengaluru
- Full-Time
- Mid level
Job Description
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) 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
- 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
- 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
- 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
- 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:
- Compute units
- Vector/SIMD extensions (e.g., QMX)
-
Memory subsystems
- ML Kernel & Library Development (QMX Focus)
- Design and implement highly optimized ML kernels and libraries for QMX architecture
-
Develop kernels for:
-
GEMM, convolution, attention, activation functions, etc.
-
Enable integration with:
-
Open-source ML frameworks (e.g., PyTorch, ONNX, XNNPACK, MLAS)
-
Apply advanced optimizations:
- SIMD/vectorization
- Cache-aware execution
-
Parallel execution strategies
- Benchmarking & Performance Engineering
-
Optimize CPU-centric ML benchmarks such as:
- Geekbench AI
-
Internal benchmarking suites
- Establish performance baselines and track improvements across hardware generations
- Perform competitive analysis and performance positioning
Required Qualifications
-
Strong background in:
- Computer Architecture / Systems Programming
-
Machine Learning fundamentals
-
Proficiency in:
-
C/C++ (mandatory)
-
Experience with:
- Performance profiling,…
Skills
- cplusplus
- Java
- Python
- qemu
- PyTorch
- c10
