# \[Project\] Mojo for Robotics: Porting GPU Navigation Kernels (Jetson / Strix Halo)

**URL:** <https://forum.modular.com/t/project-mojo-for-robotics-porting-gpu-navigation-kernels-jetson-strix-halo/2952>\
**Category:** Performance\
**Created:** [April 10, 2026, 4:04pm UTC](https://forum.modular.com/t/project-mojo-for-robotics-porting-gpu-navigation-kernels-jetson-strix-halo/2952 "2026-04-10T16:04:07Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![haroon](https://avatars.discourse-cdn.com/v4/letter/h/e47c2d/32.png) [@haroon](https://forum.modular.com/u/haroon)\
**Post date:** [April 12, 2026, 3:53pm UTC](https://forum.modular.com/t/project-mojo-for-robotics-porting-gpu-navigation-kernels-jetson-strix-halo/2952/2 "2026-04-12T15:53:14Z")

</div>

Quick update on the Mojo port we kicked off in this thread.

**What’s Done**

Scaffolding repo is up: **[https://github.com/aleph-ra/kompass-mojo](https://github.com/aleph-ra/kompass-mojo)**

The first of the three kernel groups from the original post, the **Trajectory Cost Evaluator** , is now running end-to-end in Mojo. Six kernels ported from our SYCL baseline, wired up through an `@export`ed C ABI, and called from a standalone C++ benchmark binary that mirrors the kompass-core benchmarking harness.

If you have a Mojo-supported GPU, you can reproduce everything below with:

```bash
git clone https://github.com/aleph-ra/kompass-mojo
cd kompass-mojo
pixi install
./scripts/run_benchmarks.sh <platform_name>

```

**Results from my devbox (NVIDIA RTX A5000, Ampere sm\_86)**

Same workload we use in EMOS kompass-core: 5,001 trajectories × 1,000 points, 10 s horizon, 4 cost functions enabled.

- **kompass-core SYCL (AdaptiveCpp / CUDA):** 16.358 ms (±0.12)
- **kompass-mojo (Mojo 0.26.1 / CUDA):** **15.973 ms (±0.09)**

I should note that I have used Claude to translate my mojo kernels, using the official skills and no optimization work on the mojo side has been done yet. Hence the initial result is quite impressive.

**Next Steps**

- Port the Local Mapper (Bresenham raycasting) and Critical Zone Checker kernels into the same FFI layer.
- Run on the real targets from the original post, **Jetson Orin, Thor, and AMD Strix Halo APUs**. Strix Halo should be an interesting case since its shared-memory APU architecture also provides a zero-copy path.

Matching AdaptiveCpp on a first-pass port was not something I expected, and it’s a strong early signal for the Mojo-for-robotics question.

---

_[View the full topic](https://forum.modular.com/t/project-mojo-for-robotics-porting-gpu-navigation-kernels-jetson-strix-halo/2952)._
