Replies: 54 comments 127 replies
-
Hello and thank you for your interest! RM stands for "Resource Manager" and it is the internal name of the driver that gets compiled into Depending on the context, GSP-RM can refer either to the new driver architecture that uses the "GSP" microcontroller, or it can refer to the code running on said microcontroller. To avoid ambiguity, the latter is often called "Physical RM" instead, and code running in kernel is called "Kernel RM". RMAPI is the interface nvidia.ko (RM) exposes to other kernel modules and to userspace. |
Beta Was this translation helpful? Give feedback.
-
Meta: Do you think it makes sense to group these questions into a single issue, which we could then pin? |
Beta Was this translation helpful? Give feedback.
-
Thanks! Yes, I think it's a good idea to group these questions into a single issue. |
Beta Was this translation helpful? Give feedback.
-
Okay, this is now a pinned generic code-related Q&A issue. |
Beta Was this translation helpful? Give feedback.
-
Would it be possible to enable Github Discussions, which has a cleaner structure for quick questions? |
Beta Was this translation helpful? Give feedback.
-
@antdking Please see #44 . I do agree Discussions would be a much cleaner option, and I expect we'll enable them soon enough. Will gladly retire this issue when that happens, but until such a time this is the best we have for these quick one-off questions. |
Beta Was this translation helpful? Give feedback.
-
Will this driver support GPU virtualization with untrusted guests on consumer hardware? This would be a huge win for Qubes OS, which is currently forced to rely on software rendering. Support for CUDA or for enterprise GPUs would not be as helpful, as Qubes OS is an end-user operating system focused on the desktop use-case. |
Beta Was this translation helpful? Give feedback.
-
@DemiMarie At this point all I can say is that the current codebase does not support virtualization - neither as a host nor a guest. I don't currently have any information about future changes in this regard. |
Beta Was this translation helpful? Give feedback.
-
We've now enabled Discussions in this github repository. I've moved this issue to Discussions, though maybe we should close this and start a separate discussion for each question... |
Beta Was this translation helpful? Give feedback.
-
As many of us have noticed so far. NVIDIA has defaulted to one of the age old standards of C90. Moving forward, would NVIDIA be open to adopting more modern standards such as C11? or is there a very specific reason as to why we must stay C90? My argument for adopting the newer standard would be the newer features, most prominently seen in C++ via operators, templates, and constexpr. constexpr in particular leads to less hardcoded variables in favor of a compile time resolved one. What do you think? |
Beta Was this translation helpful? Give feedback.
-
I'm curious what the reason was for retaining whitespace in what look like deleted sections of the source eg https://github.com/NVIDIA/open-gpu-kernel-modules/blob/main/kernel-open/nvidia/nv.c#L623. Was this intentional or just a side effect on how it was done? |
Beta Was this translation helpful? Give feedback.
-
Considering that NVIDIA does not currently have plans to open-source the userspace components of the driver, at the minimum, will there be any officiial documentation or libraries to help create a userspace RM client (I think this constitutes opening and controlling |
Beta Was this translation helpful? Give feedback.
-
Since the other topic got locked Ill ask here too. While this Repo provides kernel drivers for turing, ampere and upcoming generations will PMU firmware be published to allow nouveau to reclock Maxwell 2 and Pascal GPUs? |
Beta Was this translation helpful? Give feedback.
-
Skimming through the codebase, I see references to something called |
Beta Was this translation helpful? Give feedback.
This comment was marked as off-topic.
This comment was marked as off-topic.
-
Hi, I'm monitoring the ioctl commands for a hw accelerated video encoding session. I see a series of calls to C9B7 (NVC9B7_VIDEO_ENCODER) class. However, class header here https://github.com/NVIDIA/open-gpu-kernel-modules/blob/main/src/common/sdk/nvidia/inc/class/clc9b7.h is empty. I found a similar header for C5B7 here: https://github.com/NVIDIA/open-gpu-doc/blob/master/classes/video/clc5b7.h and the command codes seem to match, but I wonder if someone can confirm that the codes are the same, or even better, fill the header for class C9B7. Thanks. |
Beta Was this translation helpful? Give feedback.
-
What is "FINN, an NVIDIA coding tool"? It it some kind of IDL compiler for RM API to serialize API calls into binary streams? I am currently attempting to run Nvidia driver as userland server process in microkernel-like architecture, so I need to serialize RM API calls into IPC messages. Is |
Beta Was this translation helpful? Give feedback.
-
While running TensorFlow inference tasks with Docker, I noticed that when tracking the code, 16 channels are always created during task execution:
Is it possible for
|
Beta Was this translation helpful? Give feedback.
-
After some break on Nvidia driver porting experiments it started to fail to halt Falcon, but it worked before. Any ideas what is happening and how to fix it? ACPI OS interface is not implemented yet. Both versions 545.29.02 and 550.90.07 fail in the same way. UEFI boot is used. Log
|
Beta Was this translation helpful? Give feedback.
-
Hi! Could anyone please tell what the abbreviations QMD, PCAS and SKED mean? |
Beta Was this translation helpful? Give feedback.
-
@mtijanic Hi, I noticed that you mentioned a few years ago that you could provide sample input and output files of NVOC (link). I'm very curious about this, but I can't find it in any public place. Is it convenient for you to provide it at this moment? Thank you so much! |
Beta Was this translation helpful? Give feedback.
-
can i have a detailed documentation of the source code... a module , file wise documentation |
Beta Was this translation helpful? Give feedback.
-
Do NVRM API have some engine load ratio, temperature and fan speed monitoring functionality? Information that is used for example in Windows Task Manager GPU load tab. |
Beta Was this translation helpful? Give feedback.
-
What is meaning of LTP? (with uTLB) |
Beta Was this translation helpful? Give feedback.
-
A couple questions regarding module options:
I guess the million dollar question is whether these actually do anything or (for example) they're actually enabled by default on modern gpus (maybe inside the GSP?) |
Beta Was this translation helpful? Give feedback.
-
How GPU fetch the push buffer? by DMA or others? |
Beta Was this translation helpful? Give feedback.
-
Can the driver intercept a kernel launch or other high-level operations such as context creation or module loading? |
Beta Was this translation helpful? Give feedback.
-
Can we schedule channels by Env: Tesla T4 with open source driver 550.90.07. Here is what I found:
It seems that I can disable a channel but could not enable it again to let CUDA kernels go on. Am I wrong to use this command? |
Beta Was this translation helpful? Give feedback.
-
Why does this code exist, and when will it be resolved? Earlier versions don't have that code, is it okay to use Access counter? |
Beta Was this translation helpful? Give feedback.
-
I'm a newbie of the open-gpu-kernel-modules, when i read the code, i got into trouble when understanding "pRmApi->Control()", e,g, |
Beta Was this translation helpful? Give feedback.
-
[mtijanic] Please use this issue to ask simple questions about the codebase, such as what a certain feature is, how a given codepath works, what a given acronym means, etc. Please keep your questions as specific as possible.
I see a lot of RM in the code related to the RMAPI module, what does this RM and GSP-RM mean exactly?
Beta Was this translation helpful? Give feedback.
All reactions