Example: bachelor of science

CUDA Compatibility - NVIDIA Developer

CUDA Compatibility v |. Table of Contents Chapter 1. Why CUDA 1. Chapter 2. Minor Version CUDA 11 and Later Defaults to Minor Version Compatibility Application Considerations for Minor Version 6. Deployment Considerations for Minor Version Chapter 3. Forward 8. Forward Compatibility Support Across Major Toolkit Installing the Forward Compatibility 9. From Network Repositories or Local Manually Installing from 11. Deployment Considerations for Forward 11. Use the Right Compat 11. Feature Check for Compatibility 13. Deployment Model for Forward Chapter 4. 15. Chapter 5. Frequently Asked 16. CUDA Compatibility v | ii List of Figures Figure 1. Components of CUDA .. 2. Figure 2. CUDA Upgrade Path .. 3. Figure 3. NVRTC supports minor version Compatibility from CUDA onwards.

CUDA Compatibility v | 4 Chapter 2. Minor Version Compatibility 2.1. CUDA 11 and Later Defaults to Minor Version Compatibility Compatibility

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Transcription of CUDA Compatibility - NVIDIA Developer

1 CUDA Compatibility v |. Table of Contents Chapter 1. Why CUDA 1. Chapter 2. Minor Version CUDA 11 and Later Defaults to Minor Version Compatibility Application Considerations for Minor Version 6. Deployment Considerations for Minor Version Chapter 3. Forward 8. Forward Compatibility Support Across Major Toolkit Installing the Forward Compatibility 9. From Network Repositories or Local Manually Installing from 11. Deployment Considerations for Forward 11. Use the Right Compat 11. Feature Check for Compatibility 13. Deployment Model for Forward Chapter 4. 15. Chapter 5. Frequently Asked 16. CUDA Compatibility v | ii List of Figures Figure 1. Components of CUDA .. 2. Figure 2. CUDA Upgrade Path .. 3. Figure 3. NVRTC supports minor version Compatibility from CUDA onwards.

2 7. Figure 4. Forward Compatibility Upgrade Path .. 9. CUDA Compatibility v | iii List of Tables Table 1. Example CUDA Toolkit Minimum Required Driver Versions (Refer to CUDA. Release Notes).. 4. Table 2. CUDA Toolkit Minimum Required Driver Versions .. 5. Table 3. CUDA Application Compatibility Support Matrix ..12. Table 4. Forward-Compatible Feature-Driver Support Matrix ..12. CUDA Compatibility v | iv Chapter 1. Why CUDA Compatibility . The CUDA Toolkit enables developers to build NVIDIA GPU accelerated compute applications for Desktop computers, Enterprise and Data centers to Hyperscalers. It consists of the CUDA. compiler toolchain including the CUDA runtime (cudart) and various CUDA libraries and tools. To build an application, a Developer has to install only the CUDA Toolkit and necessary libraries required for linking.

3 In order to run a CUDA application, the system should have a CUDA enabled GPU and an NVIDIA display driver that is compatible with the CUDA Toolkit that was used to build the application itself. If the application relies on dynamic linking for libraries then the system should have the right version of such libraries as well. CUDA Compatibility v | 1. Why CUDA Compatibility Figure 1. Components of CUDA. Every CUDA toolkit also ships with an NVIDIA display driver package for convenience. This driver supports all the features introduced in that version of the CUDA Toolkit. Please check the toolkit and driver version mapping in the release notes. The driver package includes both the user mode CUDA driver ( ) and kernel mode components necessary to run the application.

4 Typically, upgrading a CUDA Toolkit involves upgrading both the toolkit and the driver to get the bleeding edge toolkit and driver capabilities. CUDA Compatibility v | 2. Why CUDA Compatibility Figure 2. CUDA Upgrade Path But this is not always required. CUDA Compatibility guarantees allow for upgrading only certain components and that will be the focus of the rest of this document. We will see how the upgrade to a new CUDA Toolkit can be simplified to not always require a full system upgrade. CUDA Compatibility v | 3. Chapter 2. Minor Version Compatibility CUDA 11 and Later Defaults to Minor Version Compatibility Compatibility From CUDA 11 onwards, applications compiled with a CUDA Toolkit release from within a CUDA major release family can run, with limited feature-set, on systems having at least the minimum required driver version as indicated below.

5 This minimum required driver can be different from the driver packaged with the CUDA Toolkit but should belong to the same major release. Refer to the CUDA Toolkit Release Notes for the complete table. Table 1. Example CUDA Toolkit Minimum Required Driver Versions (Refer to CUDA Release Notes). CUDA Toolkit Linux x86_64 Minimum Windows Minimum Required Required Driver Version Driver Version CUDA >= * >= *. * CUDA was released with an earlier driver version, but by upgrading to Tesla Recommended Drivers (Linux) / (Windows) as indicated, minor version Compatibility is possible across the CUDA family of toolkits. While applications built against any of the older CUDA Toolkits always continued to function on newer drivers due to binary backward Compatibility , prior to CUDA 11, applications built against newer CUDA Toolkit releases were not supported on older drivers without forward Compatibility package (see Forward Compatibility Support Across Major Toolkit Versions).

6 If you are using a new CUDA minor release, then the minimum required driver version is the same as the driver that's packaged as part of that toolkit release. Consequently, the minimum required driver version changed for every new CUDA Toolkit minor release until CUDA Therefore, system administrators always have to upgrade drivers in order to support applications built against CUDA Toolkits from releases. CUDA Compatibility v | 4. Minor Version Compatibility Table 2. CUDA Toolkit Minimum Required Driver Versions CUDA Toolkit Linux x86_64 Minimum Windows MinimumRequired Required Driver Version Driver Version CUDA >= >= CUDA >= >= CUDA >= >= With minor version Compatibility , upgrading to CUDA is now possible on older drivers from within the same major release family such as that was shipped with CUDA.

7 , as shown below: $ NVIDIA -smi +--------------------------------------- --------------------------------------+. | NVIDIA -SMI Driver Version: CUDA Version: |. |-------------------------------+------- --------------- +----------------------+..<snip>.. $ samples/bin/x86_64/linux/release/deviceQ uery samples/bin/x86_64/linux/release/deviceQ uery CUDA Device Query (Runtime API) version (CUDART static linking). Detected 1 CUDA Capable device(s). Device 0: "Tesla T4". CUDA Driver Version / Runtime Version / CUDA Capability Major/Minor version number: ..<snip>.. deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = , CUDA. Runtime Version = , NumDevs = 1. Result = PASS. Minimum required driver version guidance can be found in the release notes.

8 Note that if the minimum required driver version is not installed in the system, applications will return an error as shown below. $ samples/bin/x86_64/linux/release/deviceQ uery samples/bin/x86_64/linux/release/deviceQ uery CUDA Device Query (Runtime API) version (CUDART static linking). cudaGetDeviceCount returned 3. -> initialization error Result = FAIL. CUDA Compatibility v | 5. Minor Version Compatibility Application Considerations for Minor Version Compatibility Developers and system admins should note two important caveats when relying on minor version Compatibility . If either of these caveats are limiting, then a new CUDA driver from the same minor version of the toolkit that the application was built with or later is required.

9 Limited feature set Sometimes features introduced in a CUDA Toolkit version may actually span both the toolkit and the driver. In such cases an application that relies on features introduced in a newer version of the toolkit and driver may return the following error on older drivers: cudaErrorCallRequiresNewerDriver. As mentioned earlier, admins should then upgrade the installed driver also. Application developers can avoid running into this problem by having the application explicitly check for the availability of features. Refer to the CUDA Compatibility Developers Guide for more details. Applications using PTX will see runtime issues Applications that compile device code to PTX will not work on older drivers. If the application requires PTX then admins have to upgrade the installed driver.

10 PTX Developers should refer to the CUDA Compatibility Developers Guide and PTX. programming guide in the CUDA C++ Programming Guide for details on this limitation. Deployment Considerations for Minor Version Compatibility As described, applications that directly rely only on the CUDA runtime can be deployed in the following two scenarios: 1. CUDA driver that's installed on the system is newer than the runtime. 2. CUDA runtime is newer than the CUDA driver on the system but they are from the same major release of CUDA Toolkit. In scenario 2, system admins should be aware of the aforementioned limitations and should be able to tell why an application may be failing if they run into any issues. Minor version Compatibility has another benefit that offers flexibility in the use and deployment of libraries.


Related search queries