At a Glance
- Tasks: Join us to develop a cutting-edge ML backend and functional simulator for AI models.
- Company: Flux Computing creates innovative optical processors for advanced AI applications.
- Benefits: Enjoy flexible working arrangements and the chance to work with a talented team.
- Why this job: Be part of a pioneering project that shapes the future of AI technology.
- Qualifications: 5+ years in software engineering, strong C/C++ skills, and a degree in a relevant field.
- Other info: This is a 3-month contract role outside of IR-35 regulations.
Company Overview: Flux Computing designs and manufactures optical processors to train and run inference on large AI models.
The Contract: Weβre seeking a highly experienced and motivated Compiler Engineer [contractor] for a 3 month engagement outside of IR-35 to work on our ML Backend and functional simulator for our next-generation OTPUs with our permanent team. Your mandate will be to deliver a production-ready ML backend (compiler, runtime, debugger) and functional simulator that can accurately run most large AI models.
This role demands deep expertise in C and C++ programming, ML framework internals, compiler construction, and optimisation techniques.
Key Deliverables:
- Implement Runtime: Build a runtime that seamlessly integrates with PyTorch, JAX, and TensorFlow (PJRT) for both training and inference execution patterns. The runtime must support asynchronous execution and multiple devices.
- Implement Compiler: Build a compiler that is extensible to future optimisation patterns across operation fusion, layout optimisation, tiling, and scheduling.
- Implement Debugger & Diagnostics: Support optional runtime assertions and compile-time dumps, tensorboard timelines, and JAX I/O callbacks.
- Implement Functional Simulator: Build a functional simulator that mocks our kernel-space driver, allowing the software team to lower operations ahead of hardware teams.
Skills & Experience:
- 5+ years of experience in software engineering with a focus on C/C++ programming.
- Extensive experience in compilers, low-level programming, and optimisation techniques.
- Practical experience applying machine learning in high-performance computing contexts.
- Strong problem-solving skills and the ability to think critically and creatively.
- Experience in high-pace, dynamic environments.
- Bachelor's degree in computer science, electrical engineering, telecoms engineering, mathematics, or a related field.
- Excellent communication skills, with the ability to collaborate effectively with cross-functional teams.
Compiler Engineer [Contractor] employer: Flux Computing
Contact Detail:
Flux Computing Recruiting Team
StudySmarter Expert Advice π€«
We think this is how you could land Compiler Engineer [Contractor]
β¨Tip Number 1
Familiarise yourself with the specific ML frameworks mentioned in the job description, such as PyTorch, JAX, and TensorFlow. Understanding their internals will not only help you during the interview but also demonstrate your commitment to the role.
β¨Tip Number 2
Brush up on your C and C++ programming skills, especially focusing on compiler construction and optimisation techniques. Being able to discuss your past experiences and projects related to these areas will set you apart from other candidates.
β¨Tip Number 3
Prepare to showcase your problem-solving abilities by thinking of examples where you've tackled complex issues in high-performance computing. This will highlight your critical thinking skills and adaptability in dynamic environments.
β¨Tip Number 4
Network with professionals in the field of compiler engineering and machine learning. Engaging with communities or forums can provide insights into current trends and challenges, which you can reference during your discussions with us.
We think you need these skills to ace Compiler Engineer [Contractor]
Some tips for your application π«‘
Tailor Your CV: Make sure your CV highlights your experience in C and C++ programming, compiler construction, and optimisation techniques. Include specific projects or roles that demonstrate your expertise in machine learning and high-performance computing.
Craft a Compelling Cover Letter: Write a cover letter that addresses the key deliverables mentioned in the job description. Explain how your skills and experiences align with their needs, particularly in building ML backends and functional simulators.
Showcase Relevant Projects: If you have worked on similar projects, include them in your application. Detail your role, the technologies used, and the outcomes achieved. This will help demonstrate your practical experience in the field.
Highlight Communication Skills: Since the role requires collaboration with cross-functional teams, emphasise your communication skills in your application. Provide examples of how you've successfully worked in team settings or led discussions in previous roles.
How to prepare for a job interview at Flux Computing
β¨Showcase Your Technical Expertise
Be prepared to discuss your experience with C and C++ programming in detail. Highlight specific projects where you've implemented compilers or worked on optimisation techniques, as this will demonstrate your deep understanding of the technical requirements for the role.
β¨Familiarise Yourself with ML Frameworks
Since the role involves integrating with PyTorch, JAX, and TensorFlow, make sure you have a solid grasp of these frameworks. Be ready to discuss how you've used them in past projects, particularly in relation to runtime execution patterns.
β¨Prepare for Problem-Solving Questions
Expect to face questions that assess your problem-solving skills. Practice articulating your thought process when tackling complex issues, especially those related to compiler construction and machine learning applications in high-performance computing.
β¨Demonstrate Collaboration Skills
The role requires effective collaboration with cross-functional teams. Prepare examples of how you've successfully worked with others in dynamic environments, showcasing your communication skills and ability to contribute to team success.