Senior Staff Engineer- CPU Software & Hardware Co-Design Engineer
Qualcomm · Bengaluru, Karnataka, India
Qualcomm · Bengaluru, Karnataka, India
**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 6+ years of Software Engineering or related work experience. OR Master's degree in Engineering, Information Systems, Computer Science, or related field and 5+ years of Software Engineering or related work experience. OR PhD in Engineering, Information Systems, Computer Science, or related field and 4+ years of Software Engineering or related work experience. 3+ 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 softwarehardware 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. SoftwareHardware 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 **5. ML Kernel & Library Development (QMX Focus)** - Design and implement **highly optimized ML kernels and libraries** for QMX architecture - Develop kernels for: - GEMM, convolution, attention - Enable integration with: - Open-source ML frameworks (e.g., PyTorch, ONNX, XNNPACK, MLAS) - Apply advanced optimizations: - SIMD/vectorization - Cache-aware execution - Parallel execution strategies **6. 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, benchmarking, and optimization **Preferred Qualifications** - Experience with: - QEMU or equivalent simulators - ML kernel development (GEMM, convolution, attention) - Knowledge of: - CPU architecture (pipelines, caching, SIMD/vector extensions such as NEON, SVE, QMX) - Familiarity with: - ML frameworks and inference stacks - Experience with low-level optimization: - Intrinsics, assembly, memory and cache tuning **Why Join This Team** - Work on **next-generation CPU architectures (QMX)** - Directly influence **hardware design through real workload insights** - Solve **end-to-end ML performance challenges (model kernel silicon)** - Collaborate with **top architecture, systems, and AI teams** - High-impact role with visibility across product and research roadmaps