Compiler Frontend Engineer
NormalComputing · Mountain View · hybrid
NORMAL COMPUTING | BUILD WITH US
Normal is an applied AI company solving the hardest problems in AI and silicon. We build foundational hardware and software for the semiconductor industry, critical AI infrastructure, and the broader systems that power our world, in partnership with the world's most advanced institutions. We work as one team across New York City, Silicon Valley (Mountain View), London, Copenhagen, and Seoul.
THE ROLE
Normal's hardware runs the most memory-bound parts of large-model inference inside memory itself, rather than shuttling weights to a processor. The software that makes this programmable doesn't exist yet in any standard form. Our compiler is how models reach that hardware, and new LLM architectures show up faster than most compilers can track. A new attention variant, MoE routing scheme, or quantization approach has to be represented faithfully in our compiler before it can run, let alone run fast. As a Compiler Engineer focused on frontend and model bring-up, you will extend our IR, ops, and lowering passes so new LLM architectures are supported before a customer asks for them.
This is a research-adjacent seat: you are expected to follow the literature closely, and publish on behalf of Normal. Our chip is pre-silicon, so you will validate bring-up against our simulators and FPGA prototypes first, so that models are ready to run when silicon arrives.
WHAT YOU WILL OWN
- Model Bring-up: Bring up frontend and mid-level support for new LLM architectures in our compiler, from attention variants to MoE routing schemes. Success means new architectures run correctly on our stack soon after release, ahead of customer demand.
- IR and Lowering: Extend our IR, ops, and lowering passes to represent new architectural primitives faithfully rather than approximately, with test coverage that keeps them correct as the compiler evolves.
- Quantization and Numerics: Represent the quantization schemes and numeric formats new models use, so lowering preserves model accuracy.
- Architecture Tracking: Track the LLM architecture landscape closely enough to recommend what the team brings up next.
- Cross-Team Handoffs: Hand lowered programs to the backend compiler engineers who map them onto our hardware, and work with our LLM serving engineer to take new models from compiler support to serving.
WHAT MAKES YOU A GREAT FIT
- Hands-on ML compiler experience: you have written and shipped compiler passes
- Deep familiarity with PyTorch internals, ideally including its compilation stack (TorchDynamo, FX, torch.export)
- Working knowledge of modern LLM architectures at the level of attention mechanisms, MoE routing, and quantization schemes
- Patience for the unglamorous part of the job: getting a new architecture from “runs” to “runs correctly” to “runs correctly and fast”
- Comfort designing compiler infrastructure in a young codebase as well as extending an established one
- Comfort building software for hardware that is still evolving, from simulation through bring-up
- Fluency in Python, and familiarity with C++ or Rust
BONUS POINTS
- Experience with other ML compilers, such as IREE, XLA, or TVM
- Familiarity with other ML frameworks and graph formats, such as JAX or ONNX
- Experience partitioning models across devices with tensor, pipeline, or expert parallelism
- Experience with hardware-software co-design
- Experience with non-standard or in-memory hardware targets
- Contributions to open-source compiler or ML infrastructure projects
Equal Employment Opportunity Statement
Normal Computing is an Equal Opportunity Employer. We celebrate diversity and are committed to creating an inclusive environment for all employees. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, veteran status, or any other legally protected status.
Accessibility Accommodations
Normal Computing is committed to providing reasonable accommodations to individuals with disabilities. If you need assistance or an accommodation due to a disability, please let us know at accommodations@normalcomputing.com.
Privacy Notice
By submitting your application, you agree that Normal Computing may collect, use, and store your personal information for employment-related purposes in accordance with our Applicant Privacy Notice https://normalcomputing.com/applicant-privacy-notice.