oneapi-agent-toolkit

oneapi-agent-toolkit in one page

The problem

SYCLomatic (c2s) migrates most of a CUDA code base to SYCL. What remains is the last mile: code it could not translate, output full of dpct:: helpers, and no proof that the port still behaves like the original. Coding agents can do this work, but left alone they drift back to CUDA idioms and report success without checking. SYCLomatic itself shows the same failure mode: on HeCBench softmax it emitted code that compiled with zero warnings while expf had silently become the reduced-precision sycl::native::exp (examples/RESULTS.md).

The approach

Five tools, each returning evidence, never a bare claim: a status, the exact commands that ran, parsed diagnostics, numbers, and an explicit list of limitations (schema).

Tool Does
migrate runs SYCLomatic and parses its warnings
compile builds with icpx -fsycl and parses diagnostics
scan_helpers inventories every dpct:: helper left, with suggested SYCL replacements
verify runs reference and candidate on the same inputs and compares outputs (arrays, or audio in dBFS)
benchmark times a command per SYCL device

A port counts as done only when verify passes and scan_helpers finds zero helpers, both on the same, freshly compiled source. Agents reach the tools three ways: an MCP server (registered with one command), a CLI that prints the same JSON (AGENTS.md), or a bundled agent loop (oneapi-agent loop) that enforces the success rule itself. The design follows the evidence-first approach of REA.

A second half checks ports on real GPUs: oneapi-agent remote-test rents a machine (Runpod, Vast.ai, Vultr or DigitalOcean), builds the C++ reference and the original CUDA there (nvcc, or hipify-perl + hipcc on AMD), verifies the SYCL port against both, and always deletes the machine (gpu-testing.md).

The evidence

Each comparison graded every final port with a hidden compile + verify + helper scan that the agent never saw. “Correct” below means correct output and zero dpct helpers.

Experiment With the toolkit Without its checks Without, but with a shell Evidence
4 workloads (audio waveshaper, 64-tap FIR, SAXPY, HeCBench softmax); Claude Sonnet and Haiku; 5 runs per workload and arm 40/40 23/40 14/40 ablation/round2
5 HeCBench programs the agent had never seen; same two models; 3 runs per program and arm 30/30 18/30 17/30 agent-ports

Honest limits

Roadmap

See the README roadmap. Planned, with no results yet: evaluating non-Claude models with the same hidden checks, Intel GPU validation, and multi-file projects.