4 ms·
But the firmware runs directly on the hardware, right? So they effectively rearchitected their system to move what used to be 'above' the kernel to 'below' the
by stkdump 2y ago
But the firmware runs directly on the hardware, right? So they effectively rearchitected their system to move what used to be 'above' the kernel to 'below' the kernel, which seems like a huge effort.
- vlovich123 2y agoIt’s some effort but I bet they added a classical serial CPU to run the existing code. In fact, [1] suggests that’s exactly what they did. I suspect they had other reasons to add the GSP so the amortized cost of moving the driver code to firmware was actually not that large all things considered and in the long term reduces their costs (eg they reduce the burden further of supporting multiple OSes, they can improve performance further theoretically, etc etc) [1] https://download.nvidia.com/XFree86/Linux-x86_64/525.78.01/README/gsp.html https://download.nvidia.com/XFree86/Linux-x86_64/525.78.01/R...
- p_l 2y agoThat's exactly what happened - Turing microarchitecture brought in new[1] "GSP" which is capable enough to run the task. Similar architecture happens AFAIK on Apple M-series where the GPU runs its own instance of RTOS talking with "application OS" over RPC. [1] Turing GSP is not the first "classical serial CPU" in nvidia chips, it's just first that has enough juice to do the task. Unfortunately without recalling the name of the component it seems impossible to find it again thanks to search results being full of nvidia ARM and GSP pages...
- mepian 2y ago>the name of the component Falcon?
- p_l 2y agoTHANK YOU, that was the name I was forgetting :) here's[1] a presentation from nvidia regarding (unsure if done or not) plan for replacing Falcon with RISC-V, [2] suggests the GSP is in fact the "NV-RISC" mentioned in [1]. Some work on reversing Falcon was apparently done for Switch hacking[3]? [1] https://riscv.org/wp-content/uploads/2016/07/Tue1100_Nvidia_RISCV_Story_V2.pdf https://riscv.org/wp-content/uploads/2016/07/Tue1100_Nvidia_... [2] https://www.techpowerup.com/291088/nvidia-unlocks-gpu-system-processor-gsp-for-improved-system-performance https://www.techpowerup.com/291088/nvidia-unlocks-gpu-system... [3] https://github.com/vbe0201/faucon https://github.com/vbe0201/faucon
- knotimpressed 2y agoWould you happen to have a source or any further readings about Apple M-series GPUs running their own RTOS instance?
- p_l 2y agoAsahi Linux documentation has pretty good writeup. The GPU is described here[1] and the mailbox interface used generally between various components is described here [2] [1] https://github.com/AsahiLinux/docs/wiki/HW%3AAGX#overview https://github.com/AsahiLinux/docs/wiki/HW%3AAGX#overview [2] https://github.com/AsahiLinux/docs/wiki/HW%3AASC https://github.com/AsahiLinux/docs/wiki/HW%3AASC
- imtringued 2y agoWhy? It should make it much easier to support Nvidia GPUs on Windows, Linux, Arm/x86/RISC-V and more OSes with a single firmware codebase per GPU now.
- stkdump 2y agoYes makes sense, in the long run it should make their life easier. I just suspect that the move itself was a big effort. But probably they can afford that nowadays.