Remote job
Staff AI Application Engineer - Heterogeneous Computing
Job details
About this role
Role overview
Set the technical direction and build software that enables machine learning models to run efficiently across specialized accelerators, host CPUs, and other available devices. This senior hands-on role spans model ingestion, graph compilation, runtime behavior, and application pipelines, with end-to-end performance as the goal. You’ll also build tools and verification workflows that help engineers and AI coding agents bring models up on real hardware and measure changes reliably.
Responsibilities
- Design a model enablement platform with reusable tools for partitioning, compiling, running, profiling, and verifying models on hardware. - Build repeatable workflows that apply changes, compare performance with a reference, and detect regressions through testing and CI. - Define how PyTorch or ONNX models are captured, analyzed, and partitioned across accelerator units, host CPUs, and available host accelerators; expose placement choices for users to inspect and adjust. - Extend execution strategies to large models and multi-model pipelines, including techniques such as offloading and caching across device and host memory. - Work with compiler, runtime, and application teams to improve complete-pipeline performance through scheduling, batching, overlapping work, and efficient data movement. - Profile representative models, verify performance improvements in full applications, and turn findings into reusable platform improvements.
Requirements
- At least 8 years of engineering experience in systems, compilers, runtimes, or performance, including ownership of system-level design. - Practical experience with heterogeneous computing across CPUs and accelerators such as GPUs, DSPs, NPUs, or FPGAs. - Strong understanding of computer architecture, operating systems, parallel programming, and tradeoffs in compute, bandwidth, latency, and data movement. - Familiarity with machine learning graph representations and compiler concepts such as graph capture, lowering, operator fusion, partitioning, and memory planning. - Strong C++ and Python skills. - Daily use of AI coding agents in engineering work, with the ability to test and critically review their output.
Nice to have
- Experience with MLIR, TVM, XLA, TorchInductor, IREE, or another compiler framework. - Experience with an inference runtime, GPU programming, or SIMD optimization on Arm or x86. - Familiarity with large-model execution techniques such as offloading, expert caching, speculative decoding, or pipelining across devices. - Experience building agent environments, evaluation harnesses, differential tests, regression detection, or MCP-based tools.
Benefits and work setup
The role can be based remotely in a European country, including the UK, from an office in several European locations, or through relocation to Italy or the Netherlands. Candidates based in Belgium or Italy are prioritized. The compensation package includes a pension plan, employee insurance, and an option to receive company shares.