Overview
Join the System Performance team responsible for profiling and optimizing system performance on Snapdragon Data center chipsets, with a focus on AI/ML performance using NPU cores.
What you'll do
- Drive performance analysis on silicon using System and Core benchmarks such as Dhrystone, GeekBench, SPECInt, and CNN/GenAI ML networks.
- Use performance tools to analyze load patterns across IPs and identify performance bottlenecks in the system.
- Analyze performance KPIs of SoC subsystems such as NPU, CPU and memory, and correlate performance with projections.
- Evaluate and characterize performance at various junction temperatures and optimize operation at high ambient temperatures.
- Analyze and optimize system performance parameters of SoC infrastructure such as NoC and LP5 DDR.
- Collaborate with cross-functional global teams to plan and execute performance activities on chipsets and make recommendations for next-generation chipsets.
What you'll need
- Deep understanding of NPU, CPU and DDR architecture internals.
- Understanding of NPU micro-architecture, including specialized processing elements for matrix multiplications and convolutions.
- Strong grasp of deep learning fundamentals, including CNNs, transformers and GenAI.
- Understanding of the distinction between compute-intensive model training (often on GPUs) and inference on NPUs.
- Knowledge of model optimization and compression techniques such as quantization, pruning and distillation.
- Understanding of CPU caches (L1, L2, L3), instruction pipelines, branch prediction, memory hierarchy and multi-core/multi-threaded processing.
- Understanding of how memory access, instruction dependencies and contention for shared resources impact performance.
- Understanding of JEDEC LPDDR4, LPDDR5 and LPDDR6 specifications, including command and timing parameters (e.g., tCL, tRCD, tRP), memory organization, and training and initialization sequences.
- Understanding of how a memory controller works and its features such as command queue, port arbitration and control schemes.
- Familiarity with frameworks such as TensorFlow Lite, PyTorch Mobile and ONNX Runtime for preparing models for deployment.
- Experience with NPU-specific compilers such as Qualcomm QNN, Arm Vela and Intel OpenVINO to optimize and orchestrate AI workloads.
- Ability to evaluate hardware and software for AI tasks and measure metrics such as TOPS/W.
- Experience using the Windows Performance Toolkit and Qualcomm's Snapdragon Profiler to analyze NPU and system-level performance.
- Core understanding of parallel processing architectures for efficient AI computation.
- Expertise in how operating systems manage processes, threads, memory, MMU and interrupt handling, including kernel scheduler and system-level bottlenecks.
- Good understanding of CPU benchmarks (such as GeekBench, SpecInt and CoreMark) and DDR benchmarks (such as lat_mem, stream and bw_mem) and how they exercise CPU, GPU and DDR architecture.
- Experience with performance monitoring tools such as Intel VTune, Linux perf, and utilities like top, vmstat, iostat and netstat.
- Experience with software tools to monitor system hotspots, command bus utilization and memory traffic patterns, including validating software-generated traffic.
- Good understanding of memory allocation policies, prefetching and caching to minimize latency and maximize bandwidth.
- Skill in profiling code to analyze memory access patterns and optimize for data locality.
- Strong statistical skills for analyzing large performance datasets, such as histograms of transaction latencies and derived performance metrics.
- 5+ years of industry experience working on ARM/x86 based platforms, mobile/automotive/data center operating systems and/or performance profiling tools.
- Experience in application or driver development in Linux or QNX; ability to create and customize makefiles with various compiler options.
- Ability to learn quickly and adapt to new technologies.
- Excellent communication skills.
- Bachelor's degree in Engineering, Information Systems, Computer Science or related field and 3+ years of Systems Engineering or related work experience; OR Master's degree in a related field and 2+ years of Systems Engineering or related work experience; OR PhD in a related field and 1+ year of Systems Engineering or related work experience.
- Required education: Bachelor's in Computer Engineering and/or Electrical Engineering.
Nice to have
- Knowledge of computer architecture, LP5 DDR and bus/NoC profiling.
- Fundamentals of an operating system such as Linux, QNX or a hypervisor, and experience with data center applications.
- Experience creating professional reports and slides using MS Office or advanced visualization tools.
- Experience in PoC development and competitive analysis.
- Knowledge of voltage, power and thermal domains.
- Preferred education: Master's in Computer Engineering and/or Electrical Engineering.
Details
- Location: Bangalore, India.
Read the full description and apply on the company’s own careers page.