Recently, the GPU community ushered in a big news. NVIDIA decided to open source its GPU kernel driver based on the GPL/MIT dual protocol to provide support for Linux kernel version 3.10 and above. As soon as this news came out, it caused an uproar in the Linux community. Is Nvidia finally enlightened?

Poor students in open source drivers

For a long time, while AMD has provided proprietary drivers for Linux, it has also vigorously promoted the support of open source drivers, not only actively providing code, but also giving sufficient documentation support. Therefore, proprietary drivers are only required when graphics support such as OpenCL rendering is required. On the other hand, Nvidia, although they began to provide support for Linux early on, but only limited to its proprietary drivers. Nvidia's move annoyed many people. Even Linus Torvalds, the father of Linux, was asked many years ago why Nvidia's Optimus GPU lacked Linux support.

Even Intel, which has just entered the discrete GPU, has better support for open source drivers than Nvidia, not to mention that Intel's integrated GPUs have excellent open source driver support for Linux. This may be why many supercomputer systems have chosen to use AMD's RadeonInstinct and Intel's XeGPU, and not NVIDIA A100.

For AMD, especially under Linux, open source drivers are even better than proprietary ones, and for Nvidia, the situation is reversed. In the eyes of Linux developers in the past, NVIDIA did not provide much support for their open source community. First, NVIDIA did not actively support, and then NVIDIA did not provide any documentation or submit any open source code. To make matters worse, the open source drivers for Nvidia GPUs aren't perfect. Take the well-known open source Nvidia driver nouveau as an example, this driver cannot run at full speed without a signature.

Nvidia GPUDriving open source is just the first step

Nvidia is obviously aware of this, but for commercial reasons, such as preventing technology leaks, it has not chosen open source drivers for so many years. However, starting from the recently released R515 driver, NVIDIA finally decided to open up its GPU kernel module driver, giving a lot of freedom to developers under Linux. They can sign and distribute on top of the original Nvidia GPU driver, with improvements. Provides a better experience, and several major Linux distributions can also be packaged with these kernel modules.

R515 driver for users to choose to install open source or closed source core module / NVIDIA

NVIDIA not only publishes the driver source code, but also provides a fully packaged driver version, but there are still some differences in the code according to the GPU architecture and positioning. For example, most data centers have been using Linux systems for a long time. In addition, NVIDIA began to gradually implement the GSP driver architecture last year, allowing GSP units to replace the CPU to complete GPU initialization and management tasks. Therefore, major data center GPUs such as A100 have just been open sourced. The code is already production ready.

However, this is not the case with consumer-grade GeforceGPU and workstation-grade Workstation GPU. Currently, there are no GSP units in these GPUs, so the code is still in the initial testing stage, and it is difficult to make mistakes. Moreover, the open source code is also limited to the GPUs of the Turing and Ampere architectures. The GPUs before the Turing architecture can still only choose the closed-source kernel module driver. In addition, the most valuable part of the NVIDIA GPU driver, that is, the user layer drivers such as CUDA, is still closed source.

Hector Martin, a developer who ported Linux to Apple's M1 series, said that although Nvidia claims to open source kernel drivers, it actually moved most of the content to the firmware, which is why it began to implement this open source driver strategy. 's sense of sight. But fortunately, Nvidia has at least really started to move in the direction of open source drivers. And said that with the gradual improvement of the quality of open source drivers, closed source drivers will be gradually eliminated.

Nvidia's move has indeed improved the integration and support of its GPU products under Linux, giving developers more room to debug. This is not really because Linus's middle finger finally woke him up ten years ago. More To capture the enterprise and data center markets. As the demand for confidential computing is getting higher and higher, Nvidia, as a member of the Confidential Computing Alliance, naturally cannot lose this market because of the restrictions imposed on developers by closed source drivers.

Leave a Reply

Your email address will not be published. Required fields are marked *