Overview
What this challenge is about.
Clone the 12k-line C codebase (provided). Set up an ARM64 cross-compile toolchain (clang or gcc). Identify portability issues: endianness assumptions, pointer-size casts, inline assembly, alignment requirements. Replace the SSE intrinsics with NEON equivalents in the 3 hot loops. Get the full test suite passing on ARM64 under QEMU first, then on a Raspberry Pi 4 as the proxy target. Re-benchmark image throughput (MB/s) on both platforms. Deliver: working ARM64 build, port-decisions log, benchmark report (3 representative image workloads), and 5 prioritized recommendations for future portability hygiene.
The Brief
What you'll do, and what you'll demonstrate.
Port a 12k-line C image pipeline from x86 to ARM64 with full test pass and a defensible performance-comparison report.
Earning criteria — what you'll demonstrate
- Identify and fix endianness, alignment, and pointer-size assumptions in C code
- Cross-compile and test C codebases under QEMU and on real ARM64 hardware
- Translate x86 SSE intrinsics to ARM NEON equivalents
- Produce honest cross-platform performance comparisons
Program Fit
Where this fits in your program.
Sharpens the same skills your degree expects you to demonstrate.
Skills
Skills you'll demonstrate.
Each one shows up on your verified credential.
Careers
Roles this prepares you for.
Real titles. Real skill bridges. Pick the one closest to your trajectory.
Career mappings coming soon.