Lead Compiler Engineer Join us in transforming the landscape of hardware and systems through a groundbreaking software-first approach. Our mission is to empower AI innovators to push beyond existing limits by easing computational challenges and enhancing model training and deployment. Together, we can maximize the societal benefits of this revolutionary technology.
We are proud to introduce our SPU (Spatial Processing Unit), the pinnacle of programmable digital processors, which dramatically lowers AI costs. Our work encompasses every engineering layer, from hardware and runtime compilers to kernel optimization and software architecture.
We are seeking a dynamic and experienced Lead Compiler Engineer to spearhead our compiler optimization initiatives for our cutting-edge technology. Enhance code efficiency on our specialized hardware within a collaborative team focused on innovative solutions and high-quality product development. Make a lasting impact on the future of AI.
Responsibilities: - Drive the design, enhancement, and maintenance of our next-generation SPU compiler.
- Propose and implement improvements to our Intermediate Representation (IR) to align with the latest trends in machine learning model architectures.
- Create novel compiler passes and scheduling techniques to optimize code generation effectively.
- Utilize advanced parallelization and partitioning methodologies for automated kernel generation while maximizing kernel efficiency.
- Engage in rapid prototyping and data-driven evaluations of new concepts.
- Benchmark and analyze compiler outputs on SPU hardware to ensure optimal performance.
- Collaborate closely with software and hardware teams to meet the evolving demands of ML engineers and facilitate architectural advancements.
- Develop tools aimed at identifying and analyzing performance bottlenecks.
Qualifications: - Bachelor's degree in computer science, computer engineering, electrical engineering, or related field; Master's or PhD preferred.
- 2+ years of hands-on experience in compiler development, focusing on compiler backends and retargeting.
- Proficiency in C/C (C+ or newer) and Python, with at least 5 years of experience in these languages.
- Solid understanding of functional programming principles.
- Familiarity with loop optimization techniques such as vectorization, unrolling, fusion, and parallelization.
- Experience with FPGAs or CGRAs is beneficial.
- Knowledge of deep learning frameworks like TensorFlow or PyTorch is preferred but not essential.
- Working knowledge of LLVM, MLIR, and polyhedral models.
- Exposure to ONNX would be advantageous.