Compiler Engineer (Mid and/or Backend)

PersimmonsSan Jose, CA
6h

About The Position

This role focuses on transforming higher-level MLIR-based large language models by applying sophisticated mid- and backend compiler techniques to target Persimmons.ai's custom accelerator hardware. You will help design and optimize the Persimmons Compiler mid- and backend, integrate it with custom operations and kernels, as well as implement compiler passes that convert higher-level intermediate representations into runtime-oriented code and libraries. This position offers the opportunity to directly shape Persimmons.ai’s innovative AI hardware and software stack through close collaboration with teams across hardware, systems, and software.

Requirements

  • Solid understanding and experience with underlying principles and methods of the MLIR framework (SSA representation, interfaces, rewriting, dialect hierarchy, etc.).
  • Hands-on experience with developing MLIR-based compiler infrastructure, algorithms, and techniques for non-GPU/custom spatial hardware architectures.
  • Working experience with lowering SIMD operations from PyTorch, Triton, xDSL, pyDSL, or similar Python-based frontends toward LLVM IR and, further, to SIMD kernel library.
  • Extensive experience and understanding of loop optimization based on polyhedral principles.
  • Experience and understanding of SPMD-based, distributed collective operations, specialized MLIR compiler dialects (e.g., MESH, SHARDY), and collective operation lowering in compilers for spatial hardware.
  • Experience with techniques such as padding, bufferization, inlining, and other lowering techniques.
  • Knowledge of register allocation and instruction scheduling in spatial architectures.
  • Experience in lowering and integration of custom operations and kernels at the compiler mid- and backend.
  • Familiarity with graph and tensor partitioning and mapping optimization algorithms and their integration in the compiler workflow.
  • High level of understanding and 5+ years of experience with C++ and appreciation for writing clean and maintainable code.

Nice To Haves

  • Good knowledge of Python is a big plus.

Responsibilities

  • Develop and enhance MLIR-based compiler pipelines targeting Persimmons' custom spatial accelerator hardware.
  • Design and optimize the Persimmons Compiler mid- and backend techniques for efficient lowering, graph-to-resources mapping, and code generation.
  • Implement transformations to convert Python, PyTorch, and similar kernel representations to LLVM IR and runtime-ready libraries.
  • Architect and implement efficient support for SPMD-based, distributed collective operations and lower them through specialized MLIR compiler dialects (e.g., MESH, SHARDY).
  • Drive advanced loop optimizations leveraging polyhedral analysis: loop tiling, fusion, interchange, skewing, and related techniques.
  • Apply and optimize techniques such as bufferization, padding, inlining, and integration of custom operations and kernels within the compilation workflow.
  • Work on register allocation and instruction scheduling for Persimmons’ spatial hardware, ensuring high resource utilization, throughput, and low latency.
  • Contribute to graph and tensor partitioning logic for optimal hardware-targeted execution.
  • Collaborate across teams to deliver performant compilation flows from high-level ML representations to low-level executable artifacts.

Benefits

  • Competitive salary and benefits package.
  • Flexible PTO
  • 401k
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service