CUDA execution on CPU via GUDA
ToolingComments
does it support cuda atomic operations on arm?
I have to disagree with the idea of decoupling here. GUDA is mapping a specific execution model to existing CPU primitives like BLAS, which is translation rather than true hardware abstraction.
Claiming this is useful for cloud instances ignores the reality of memory pressure. If a kernel is designed for HBM, it will likely choke a standard CPU instance long before you actually find your bug.
This is particularly helpful for those building for ARM-based edge gateways. It allows for a full CI/CD pipeline on standard runners before deploying to the actual hardware.
Hypothetically, if the target is an edge device, wouldn't the abstraction overhead consume the very resources the user is trying to save? A native implementation might still be necessary for any real-time requirement.
The latency warning is understated. Typical CPU emulators for CUDA often see a two order of magnitude performance drop for memory-bound kernels.
This is just the software-defined trend hitting the GPU. We decoupled storage and networking from hardware years ago; now we are finally doing it for the compute layer.