Principal Engineer/Senior Staff Engineer- CPU Software & Hardware Co-Design Engineer (ML Systems)

Technology, Data & Digital · Software & Web Development · Software Engineering

In short

Qualcomm is seeking a Principal/Senior Staff Engineer for CPU Software & Hardware Co-Design focusing on ML Systems in Bangalore. This role involves optimizing ML workloads on next-generation QMX CPU architectures through characterization, simulation, kernel optimization, and driving architectural insights. The ideal candidate will work across the full stack, from ML models to low-level kernels, to enable efficient execution.

Responsibilities

  • Identify and prioritize critical ML use cases and models for CPU-centric execution.
  • Analyze workload characteristics including compute intensity, memory bandwidth, cache behavior, and parallelism.
  • Generate detailed execution traces for ML workloads using QEMU or equivalent simulators.
  • Capture instruction-level execution behavior and extract performance counters and bottlenecks.
  • Identify system bottlenecks across CPU pipelines, memory hierarchy, and instruction utilization.
  • Optimize critical hotspots through kernel-level tuning, algorithmic improvements, and data layout/memory optimizations.
  • Collaborate with CPU architecture and design teams to provide data-driven insights and propose architectural enhancements.
  • Influence next-generation CPU features in compute units, vector/SIMD extensions (e.g., QMX), and memory subsystems.
  • 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 like SIMD/vectorization, cache-aware execution, and parallel execution strategies.
  • Optimize CPU-centric ML benchmarks such as Geekbench AI and internal suites.
  • Establish performance baselines and track improvements across hardware generations.

Requirements

  • Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 8+ years of Software Engineering experience; OR Master's degree and 7+ years; OR PhD and 6+ years.
  • 4+ years of work experience with Programming Language such as C, C++, Java, Python, etc.
  • Strong background in Computer Architecture / Systems Programming.
  • Strong background in Machine Learning fundamentals.
  • Proficiency in C/C++ (mandatory).
  • Experience with performance profiling, benchmarking, and optimization.

Desired Qualifications

  • Experience with QEMU or equivalent simulators.
  • Experience with 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.

Benefits

  • 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.

Skills

PythonC++CJavaPyTorchONNXXNNPACKMLAS
#CPU#Software#Hardware#Co-Design#ML#Systems#Architecture#Performance#Optimization#Kernels#LLMs#Vision#Speech#Recommender Systems#QEMU#SIMD#Vectorization#PyTorch#ONNX#XNNPACK#MLAS#Geekbench AI
Qualcomm Logo

About Qualcomm

Enabling a world where everyone and everything can be intelligently connected.

Enabling a world where everyone and everything can be intelligently connected.\n\n

Qualcomm Logo

Company

Qualcomm

Job Posted

4 days ago

Employment Type

Full Time

Work mode

On Site

Experience Level

Senior

Locations

Bangalore, India

Qualification

Bachelor, Master, Doctoral

Applicants

Be an early applicant