-
Notifications
You must be signed in to change notification settings - Fork 44
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Aditya Abhishek
committed
Apr 24, 2023
1 parent
65e2747
commit 9c0a714
Showing
5 changed files
with
134 additions
and
60 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
111 changes: 111 additions & 0 deletions
111
website/docs/dependencies/0031-install-cuda-and-nvidia-drivers.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
# Install CUDA and NVIDIA GPU Drivers | ||
Virtual Client has a dependency component that can be added to a workload or monitor profile to install CUDA and NVIDIA drivers in Linux and Windows systems. The following section illustrates the | ||
details for integrating this into the profile. | ||
|
||
- [NVIDIA Official Drivers Page](https://www.nvidia.com/Download/index.aspx) | ||
- [CUDA Toolkit Downloads](https://developer.nvidia.com/cuda-downloads) | ||
|
||
## Supported Platform/Architectures | ||
* linux-x64 (Ubuntu, Debian, CentOS7, RHEL7, RHEL8, SUSE) | ||
* win-x64 | ||
|
||
## Profile Component Parameters for Windows | ||
This dependency component can be used to download the drivers on Windows either from Web using Wget, or from a blob storage using the DependencyPackageInstallation. | ||
The following section describes the parameters used by the individual component in the profile in Windows: | ||
|
||
| **Parameter** | **Required** | **Description** | **Default** | | ||
|---------------|--------------|----------------------------|-------------------------------------------------| | ||
| PackageName | Yes | The logical name of the package that will be registered with the Virtual Client runtime. This name can be used by other profile components to reference the installation parent directory location for Drivers. | | | ||
| Scenario | No | A name/identifier for the specific component in the profile. This is used for telemetry purposes only with components in dependency sections of the profile (i.e. cannot be used with --scenarios option on the command line). | | | ||
| WinCommandLineArgs | No | The command line arguments that will be used with the Windows exe installer. | -y -s | | ||
| WinCudaDriversPackageDownloadedFromBlob | No | A 'true' value would mean that drivers package is downloaded from Blob and DependencyPackageInstallation is present in dependencies. A 'false' value would imply that WgetPackageInstallation is present in dependencies to download the NVIDIA drivers installer from Web | false | | ||
| RebootRequired | No | Whether or not reboot is required after installing the drivers. | false | | ||
|
||
## Profile Component Parameters for Linux | ||
The following section describes the parameters used by the individual component in the profile in Windows: | ||
|
||
| **Parameter** | **Required** | **Description** | **Default** | | ||
|---------------|--------------|----------------------------|-------------------------------------------------| | ||
| PackageName | Yes | The logical name of the package that will be registered with the Virtual Client runtime. This name can be used by other profile components to reference the installation parent directory location for Drivers. | | | ||
| Scenario | No | A name/identifier for the specific component in the profile. This is used for telemetry purposes only with components in dependency sections of the profile (i.e. cannot be used with --scenarios option on the command line). | | | ||
| LinuxCudaVersion | Yes | The version of CUDA to be installed in Linux Systems | | | ||
| LinuxDriverVersion | Yes | The version of Nvidia GPU driver to be installed in Linux Systems | | | ||
| LinuxLocalRunFile | Yes | The link to local runfile to install Cuda and Nvidia GPU driver in Linux Systems | | | ||
| Username | No | The user who has the ssh identity registered for. | <Current UserName> | | ||
|
||
## Example | ||
The following sections provides examples for how to integrate the component into a profile. | ||
|
||
### Windows example for downloading drivers from Web | ||
A sample URL for NVIDIA Drivers for Windows 10/11 is mentioned in example. The exact URL for the specific OS and Driver Version can be taken from NVIDIA Drivers website, given above. | ||
<div class="code-section"> | ||
|
||
```json | ||
{ | ||
"Type": "WgetPackageInstallation", | ||
"Parameters": { | ||
"Scenario": "DownloadCudaAndNvidiaDriverUsingWget", | ||
"PackageUri": "https://us.download.nvidia.com/tesla/528.33/528.33-data-center-tesla-desktop-win10-win11-64bit-dch-international.exe", | ||
"PackageName": "nvidiaDrivers", | ||
"Extract": true | ||
} | ||
}, | ||
{ | ||
"Type": "CudaAndNvidiaGPUDriverInstallation", | ||
"Parameters": { | ||
"Scenario": "InstallCudaAndNvidiaGPUDriverForWindows", | ||
"WinCudaDriversPackageDownloadedFromBlob": false, | ||
"RebootRequired": false, | ||
"WinCommandLineArgs": "-y -s", | ||
"PackageName": "nvidiaDrivers" | ||
} | ||
} | ||
``` | ||
</div> | ||
|
||
### Windows example for downloading drivers from Web | ||
|
||
<div class="code-section"> | ||
|
||
```json | ||
{ | ||
"Type": "DependencyPackageInstallation", | ||
"Parameters": { | ||
"Scenario": "DownloadCudaAndNvidiaDriverFromBlob", | ||
"BlobContainer": "packages", | ||
"BlobName": "<package-name-in-blob>", | ||
"PackageName": "nvidiaDrivers", | ||
"Extract": true | ||
} | ||
}, | ||
{ | ||
"Type": "CudaAndNvidiaGPUDriverInstallation", | ||
"Parameters": { | ||
"Scenario": "InstallCudaAndNvidiaGPUDriverForWindows", | ||
"WinCudaDriversPackageDownloadedFromBlob": true, | ||
"RebootRequired": false, | ||
"WinCommandLineArgs": "-y -s", | ||
"PackageName": "nvidiaDrivers" | ||
} | ||
} | ||
``` | ||
</div> | ||
|
||
|
||
### Linux example for downloading drivers | ||
A sample URL for NVIDIA Drivers RunFile for Linux Ubuntu is mentioned in example. The exact URL for the specific OS and Driver Version can be taken from CUDA Toolkit website, given above. | ||
<div class="code-section"> | ||
|
||
```json | ||
{ | ||
"Type": "NvidiaCudaInstallation", | ||
"Parameters": { | ||
"Scenario": "InstallNvidiaCuda", | ||
"CudaVersion": "12.0", | ||
"DriverVersion": "525", | ||
"Username": "", | ||
"LocalRunFile": "https://developer.download.nvidia.com/compute/cuda/12.0.0/local_installers/cuda_12.0.0_525.60.13_linux.run" | ||
} | ||
}, | ||
``` | ||
</div> |