CUDA is a giant for GPU compute, which includes machine learning applications. So far, CUDA supports x86-64 and aarch64 CPUs. Now, Nvidia is looking at extending CUDA support to RISC-V. This move opens the door for RISC-V CPUs to feed GPU compute. Nvidia’s talk focuses on the requirements that RISC-V CPUs must fulfill to work with CUDA. Basically, they want a server-grade CPU and platform.
Nvidia starts by requiring a RVA23 CPU, and adherence to RISC-V’s server SoC and server platform specifications. Those specifications include RAS (reliability, availability, and serviceability) features, a specialized security processor, and other baseline features. Nvidia gets most of their server-grade expectations fulfilled by those specifications.
Nvidia has a few more requirements that go beyond the RISC-V profile or platform specifications listed above, because they found it difficult to make CUDA software work well without those features. They don’t want a lowest common denominator problem, where they can’t use performance-enhancing extensions because they can’t guarantee they’ll be running on hardware with those extensions supported. From Nvidia’s perspective, that would force them to ship inefficient code. Nvidia brought up vector extensions as an example, because predication support lets them avoid branches.
ACPI is a more difficult requirement. ACPI lets software discover what hardware can do, and can be used for power, performance, and thermal management. Nvidia’s software team wasn’t happy because RISC-V hardware didn’t have ACPI when they started porting CUDA, but that situation has been resolved. In 2025, the UEFI forum added RISC-V ACPI support. The RISC-V BRS (Boot and Runtime Services) specification was ratified last year, and includes ACPI.
Then, Nvidia requires PCIe coherency. Nvidia brings up a memory ordering problem where the CPU has written data, but that data is sitting in a cache. If CUDA kicks off a DMA request to copy that data to the GPU, the DMA engines may read data from DRAM and miss modified data sitting in CPU-side caches. When copying results back from the GPU, the CPU could read stale data from its caches after the DMA engines write data to DRAM. Software would have to explicitly invalidate caches to avoid that scenario if the system doesn’t have PCIe coherency. Working cache invalidations into the CUDA stack would be difficult, and Nvidia considers PCIe coherency to be a standard feature in a server CPU. RISC-V’s server SoC specification recommends that hardware implement cache coherency, but Nvidia wants a guarantee.
Nvidia also wants hardware to support peer-to-peer PCIe communication. Without this capability, buffers copied between two devices would have to go through CPU memory, which costs performance and increase complexity because it’ll need extra synchronization signals.
Unfortunately, Nvidia didn’t go over all requirements in detail. They noted that they’re aiming for a certain level of performance, and that the overall list fits within two pages. It’s an open question whether it’s like two double-spaced pages with large font, or two note pages allowed for an open-note exam (which a student will creatively fill with as much information as possible).
NVLink Fusion Requirements
Besides running CUDA on RISC-V CPUs, Nvidia briefly went over requirements for NVLink Fusion. NVLink Fusion lets other companies implement Nvidia’s NVLink IP on their chips, letting them use Nvidia’s NVLink C2C link with a custom CPU of their choice. A hypothetical product would work much like Nvidia’s GB10, which linked Mediatek’s CPU die with an Nvidia GPU using NVLink C2C. Nvidia would of course want customers to use Nvidia’s CPUs as well. But if customers want to connect custom CPUs or other accelerators, Nvidia would still like them to use their NVLink IP. The custom CPU could be a RISC-V one.
NVLink Fusion’s requirements include all of CUDA’s requirements, along with whatever’s needed to support software frameworks like DOCA and NCCL. Requirements extend to having a close partnership with Nvidia, which sounds like a given. Integrating IP can be a complex endeavor, and would likely require close cooperation along the lines of Mediatek’s cooperation with Nvidia for GB10.
... continue reading