Compiler Architect
Introduction : Are you passionate about compiler optimization and looking to make a significant impact in the field of AI?
We are seeking a talented Compiler Architect to join our innovative team in the SF Bay Area. If you have a strong background in compiler algorithms, C / C++, and a keen interest in machine learning model architectures, we'd love to hear from you.
About the Company : We are a forward-thinking tech company dedicated to advancing the future of AI. Our team prioritizes cross-collaboration and values innovative thinking.
We are committed to collaborative problem-solving, sophisticated design, and the creation of quality products. By joining us, you will have the opportunity to work on cutting-edge projects and contribute to groundbreaking advancements in AI technology.
About the Role : As a Compiler Architect , you will play a crucial role in developing compiler optimizations for our state-of-the-art optimizing compiler.
You will be responsible for generating highly optimized code for our target hardware and proposing improvements to our intermediate representation (IR) in line with new advancements in machine learning model architectures.
This role requires a commitment to innovative design, rapid prototyping, and data-driven exploration of new ideas. You will work closely with both hardware and software teams to understand the evolving needs of ML engineers and drive improvements in architecture.
What We Can Offer You :
- Competitive salary and benefits package
- Opportunity to work on cutting-edge AI projects
- Collaborative and inclusive work environment
- Professional development and learning opportunities
- Supportive team that values creativity and innovation
Key Responsibilities :
- Design , develop, maintain, and improve our heterogeneous AI compiler.
- Propose improvements to and expand our IR with respect to new advancements in machine learning model architectures.
- Design and implement new passes and innovative scheduling techniques.
- Use the latest techniques in parallelization and partitioning to automate generation and exploit highly optimized kernels.
- Rapid prototyping and data-driven exploration of new ideas.
- Benchmark and analyze the outputs produced by our optimizing compiler on our target hardware.
- Work closely with both the hardware and software teams to understand the evolving needs of ML engineers and drive improvements in architecture.
- Build tools to collect and analyze performance bottlenecks.
Essential Skills & Experience :
- BS degree in computer science, computer engineering, electrical engineering, or equivalent practical experience. Applicants with Masters or PhD will be given preference .
- 5+ years of experience working with compilers (especially compiler backends) and retargeting.
- Very strong knowledge of compiler algorithms and data structures .
- 6+ years of experience with C / C++ (C++14 or newer) and Python.
- Knowledge of functional programming .
- Experience with loop optimizations (vectorization, unrolling, fusion, parallelization, etc.).
- Experience with programming large compute clusters .
- Experience with ML compilers such as TVM, XLA, Glow, TensorRT, IREE, nGraph, etc. would be ideal.
- Knowledge with DL frameworks such as Tensorflow or PyTorch is desirable, but not essential.
Preferred Skills & Experience :
- Masters or PhD degree in computer science, computer engineering, electrical engineering, or equivalent practical experience.
- Working knowledge of LLVM, MLIR, and polyhedral models. If you're a very strong programmer, have a curious mindset, are willing to learn, and prove yourself to be a standout candidate, we will teach you everything you need to know on ML / DL / RL and compilers to be effective in the job .
- Detail-oriented .
- Strong written and oral communication , and able to write clear and concise documentation.
- Motivated to see projects to completion .
- Team-first attitude .
- Self-starter .
- Ability to pick up new skills and adapt in fast-changing environments .