•Bring up new models: Understand model architectures, load and convert weights, implement supported execution paths, and establish correctness against reference implementations.
•Lower models to hardware using MLIR: Develop and extend dialects, graph transformations, lowering passes, and hardware-specific mappings.
•Support model operations: Enable attention, matrix multiplication, normalization, positional embeddings, and other operators through compiler and kernel changes.
•Optimize execution: Improve operator fusion, tensor layouts, tiling, memory allocation, data movement, and parallel execution.
•Optimize inference: Tune prefill and decode performance, KV cache management, batching, and quantization to improve latency, throughput, and memory efficiency.
•Validate model quality: Investigate numerical differences and measure the accuracy impact of precision changes and compiler optimizations.
•Diagnose bottlenecks: Use profiling, execution traces, and hardware counters to identify compute, memory, communication, and runtime limitations.
•Work closely with hardware, compiler, kernel, and runtime teams to deliver reliable model support and repeatable performance benchmarks.
Required qualifications
•Strong programming skills in C++ and Python.
•Hands-on experience bringing up and debugging ML models in PyTorch or a comparable framework.
•Practical experience with MLIR, including dialects, rewrite patterns, transformation passes, and lowering pipelines.
•Understanding of compiler fundamentals, including intermediate representations, dataflow analysis, and code generation.
•Understanding of transformer architectures, attention mechanisms, tensor operations, and numerical precision.
•Experience profiling and optimizing workloads on GPUs or other AI accelerators.
•Ability to debug correctness and performance issues across model code, compiler-generated code, kernels, and runtime execution.