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.