About The Role
We are seeking a Compiler Engineer to help design and implement new features in our CSL language and compiler. CSL (Cerebras Software Language) is a Zig-like language that is used within and outside the company to program our wafer-scale engine (WSE).
The language provides high-level abstractions to ease programming the wafer WSE and provides low-level access to the internals of the hardware to enable efficient utilization of the hardware. The compiler uses MLIR infrastructure to lower CSL to LLVM IR which is then lowered by a separate LLVM mid-end/backend into executables.
Responsibilities
- Design and implement front-end language features, semantic analysis, intermediate representations, and lowering pipelines from CSL to MLIR dialect(s) and LLVM IR.
- Develop and refine abstraction layers between the CSL language frontend, MLIR, and LLVM IR.
- Collaborate with kernel developers and application teams to design language constructs that improve expressiveness, clarity, productivity, and performance.
- Extend the compiler to support future hardware architectures and evolving platform capabilities.
- Identify and implement program analysis and optimization techniques.
- Write tests, benchmarks, and documentation to ensure correctness, performance, and maintainability.
- Participate in code reviews and contribute to improving compiler infrastructure, tooling, and developer workflows.
Requirements
- Bachelor's, Master’s, PhD, or foreign equivalent in computer science, engineering, or related field.
- 1+ years of experience working with compilers, language tooling, or closely related systems software. and/or distributed systems and/or close-to-hardware programming.
- Familiarity with modern C++.
- Experience designing or implementing compiler components such as parsers, type systems, semantic analysis, or IR transformations.
- Strong understanding of data structures, algorithms, and software engineering fundamentals.
Preferred
- Hands-on experience with MLIR, and/or LLVM IR, and/or AI/ML compilers.