Lead Performance and Optimization Engineer
The Role
We are seeking a Performance Engineer with strong expertise in serverclass CPUs, CPU microarchitecture, and ML inference, responsible for benchmarking, analysing, and optimizing CPU inference performance using EPYC‑optimised ML libraries (e.g., ZenDNN) with common frameworks (PyTorch, TensorFlow, ONNX Runtime). The role includes hands‑on work in performance debugging, OS/BIOS tuning, thread/core affinity, multi‑instance execution, and Python/scripting‑based automation.
The Person
The ideal candidate should be passionate about software engineering and possess leadership skills to drive sophisticated issues to resolution. Able to communicate effectively and work optimally with different teams across AMD.
Key Responsibilities
- Performance Engineering & Optimization
- Run and optimize ML inference workloads on CPUs using EPYC‑optimised libraries (ZenDNN), improving throughput/latency across single‑instance and multi‑instance scenarios.
- Configure and tune NUMA, HugePages, SMT, power/performance modes, CPU isolation, scheduler settings, scaling governors, and other OS/BIOS parameters.
- Design and validate thread/core affinity strategies for single‑instance, multi‑instance, multisocket, and framework‑level multi‑instance execution models.
- Optimize workload behaviour through NUMA‑aware locality, thread scheduling/pinning, batch‑size tuning, operator‑level parallelism, and other CPU‑focused techniques.
- Contribute to multi‑instance execution framework development, including policies for instance partitioning, core allocation, memory distribution, and orchestration of parallel runs on large EPYC systems.
- Benchmarking & Analysis
- Develop and run structured benchmarks across EPYC SKUs, core counts, caching/topology variations, sockets, and diverse batch sizes.
- Analyze scaling for single‑instance vs. multi‑instance execution, instance placement strategies, and workload isolation.
- Use perf, VTune, ftrace/tracecmd, PMU counters, flame graphs to identify bottlenecks in compute, memory, thread scheduling, or instance‑level competition.
- Perform root‑cause analysis for regressions in latency, throughput, multi‑instance efficiency, memory bandwidth, and pipeline behaviour.
- ML Inference Domain Knowledge
- Understand how ML frameworks execute models on CPU, including tensor shapes/layouts, operator behavior, threading models, kernel dispatch, scheduling strategies, and multi‑instance runtime interactions.
- Interpret how model architecture and operator composition influence performance across single and multiple concurrent inference instances.
- Collaborate with ZenDNN and kernel/ops teams to relay findings and help guide kernel/operator‑level improvements.
- Automation & Tooling
- Build automation pipelines for single‑instance and multi‑instance benchmarking, profiling, orchestration, scaling studies, and regression detection.
- Develop Python/Bash tooling that manages instance spawning, CPU core partitioning, memory pinning, performance data capture, reporting, and visual dashboards.
- Maintain reproducible experiment workflows for both single‑instance and multi‑instance configurations.
Required Skills & Qualifications
- Strong understanding of CPU architecture: pipelines, caches, TLB, NUMA, SMT/HT, vector units (AVX2/AVX512/VNNI/BF16/INT8), and memory hierarchy.
- 8 to 12 years in performance engineering, systems optimization, or low‑level execution on Linux.
- Hands‑on experience with Linux tuning and serverclass OS/BIOS configuration.
- Proficiency with perf, VTune, PMU counters, ftrace/tracecmd, flame graphs, and multi‑instance profiling.
- Strong knowledge of ML inference execution (tensors, operators, threading models) on CPU backends.
- Strong Python and Bash for automation and performance tooling.
- Experience in multicore scaling, thread affinity, scheduler behaviour, concurrency techniques, and multi‑instance execution strategies.
- Familiarity with PyTorch, TensorFlow, ONNX Runtime for running inference workloads.
Benefits
Benefits are offered at a glance, including healthcare, retirement plans, and more. (See detailed benefits information.)
Equal Opportunity Employment
AMD is an equal opportunity employer and will consider all applicants without regard to age, ancestry, color, marital status, medical condition, mental or physical disability, national origin, race, religion, political affiliation, sex, pregnancy, sexual orientation, gender identity, military or veteran status, or any other characteristic protected by law. We encourage applications from all qualified candidates and will accommodate applicants’ needs under the respective laws throughout all stages of the recruitment and selection process.
Applicant Screening
AMD may use artificial intelligence to help screen, assess, or select applicants for this position. AMD’s “Responsible AI Policy” is available upon request.