Middleware Development Engineer

Intel Intel · Semiconductors · Gdansk, Poland

Develops the offloading runtime (liboffload) for heterogeneous compute (GPUs and CPUs) within the LLVM ecosystem, bridging languages like SYCL and OpenMP to driver-level backends. Responsibilities include API design, backend implementation, upstream LLVM contributions, and community engagement.

What you'd actually do

  1. Design and implement runtime APIs in liboffload.
  2. Build and evolve backends/adapters that target driver-level stacks (Level Zero, CUDA, HIP/ROCm, OpenCL), and modernize features inherited from libomptarget plugins to meet SYCL and OpenMP needs.
  3. Contribute upstream across LLVM: liboffload, libomptarget plugins, offload utilities, and SYCL runtime integration paths. writing code, reviews, and docs alongside the community.
  4. Collaborate across the stack: work with compiler (Clang/LLVM IR/SPIRV), runtime (SYCL/OpenMP), and driver teams to implement new features.
  5. Engage with the community: present design proposals, participate in reviews and community calls, and help document best practices for language implementers on top of liboffload.

Skills

Required

  • C/C++ systems programming
  • complex runtimes or low-level libraries
  • modern computer architecture
  • heterogeneous memory models
  • concurrency
  • performance engineering
  • debugging and profiling software
  • English communication

Nice to have

  • Rust
  • GPU programming stacks (Level Zero, CUDA, HIP/ROCm, OpenCL)
  • SPIRV
  • LLVM internals (libomptarget plugins, TableGen, Clang offload pipeline)
  • Build/CI tooling (CMake, GitHub Actions)
  • scripting (Python)

What the JD emphasized

  • shipping high-quality, well-tested code in complex runtimes or lowlevel libraries