ML Compiler & Inference Engineer
--10xEngineers--
About 70% of this role involves building the compiler front end that converts ONNX, PyTorch, and TensorFlow models into our internal intermediate representation (IR). The other 30% is building the frameworks, bindings, and runtime integrations that run those models on custom AI accelerators.
10xEngineers is a hardware and semiconductor engineering services company. Our team in Barcelona works with AI chip companies to make Vision and Generative AI inference run efficiently on their hardware.
This is not an applied ML or model-training role. It suits an engineer with 1–3 years of experience who wants to build a foundation in ML compilers and inference systems. You will work alongside senior engineers and with the compiler, runtime, and hardware architecture teams.
- Develop and maintain Python converter modules that ingest ONNX, PyTorch, and TensorFlow models into our internal IR.
- Implement graph construction, transformation, and IR lowering stages of the front-end.
- Write graph-level optimization passes such as operator fusion, simplification, and canonicalization.
- Extend our pattern-matching and graph-rewriting framework so new optimizations are easy to add and maintain.
- Decompose and convert the main building blocks of LLMs and other transformer models: attention, MLPs, normalization layers and embeddings.
- Use ONNX Runtime tooling for model parsing, validation, and conversion where it fits.
- Build Python test infrastructure for numerical correctness, operator coverage and regression testing, integrated into CI.
- Debug issues across model ingestion, conversion, graph optimization, and IR generation.
- Develop Python/C++ frameworks that connect converted models to custom accelerator runtimes.
- Build APIs, C++/Python bindings and libraries for Vision and Generative AI inference.
- Maintain the Model Zoo, model loaders, and deployment workflows.
- Profile, debug and optimize performance-critical code in the framework and runtime layers.
- Apply good practices in design, testing, CI/CD and code review, and take part in scoping and delivering work on schedule.
- 1–3 years of professional or internship experience in software engineering, preferably in compilers, systems programming, or performance-related work.
- Strong Python: clean, modular, tested code. This is the main language of the role.
- Working proficiency in C++ (C++11/14 or later).
- Understanding of compiler fundamentals: intermediate representations, graph-based computation models, and transformation and optimization passes. Coursework, a thesis, or project work counts.
- Hands-on experience with at least one of PyTorch, TensorFlow, or ONNX, including how a model is represented as a computation graph.
- Familiarity with CNNs and transformer architectures at the level of their operators (attention, normalization, matrix multiplications).
- Solid grounding in data structures and algorithms, memory management, and concurrency.
- Experience writing tests for a non-trivial codebase, and comfort debugging across multi-stage pipelines.
- Exposure to MLIR or MLIR-based dialects (TOSA, StableHLO, Torch-MLIR), or to other ML compilers such as TVM or XLA.
- Experience with LLVM or compiler backend work.
- Experience with C++/Python bindings (pybind11 or SWIG).
- Exposure to Caffe or to model conversion between frameworks.
- Experience with LLMs, diffusion, or other generative model inference.
- Open-source contributions or personal projects in ML systems (for example ONNX, ONNX Runtime, PyTorch or Hugging Face).
- Work with a world-class chip company on state-of-the-art AI systems.
- Build a solid foundation in AI software and performance engineering.
- Continuous exposure to Vision and Generative AI workloads without repetitive applied ML tasks.
- Grow into more advanced technical roles across multiple AI projects.