🌌 Setting Up CUDA and Triton in a Windows Virtual Environment
CUDA, a parallel computing platform and programming model developed by NVIDIA, unlocks the computational power of graphics processing units (GPUs) for a wide range of applications, significantly accelerating tasks that are traditionally handled by central processing units (CPUs).
Triton, an open-source programming language and compiler, further simplifies the process of writing efficient GPU code, particularly for deep learning workloads. By providing an abstraction layer and optimization capabilities, Triton allows developers to achieve high performance with relative ease, especially when integrated with popular machine learning frameworks like PyTorch. Establishing both CUDA and Triton within an isolated Windows virtual environment offers several key advantages for developers and researchers. This approach ensures that project-specific dependencies for CUDA, Triton, and related libraries are contained within a dedicated space, preventing potential conflicts with other Python projects or system-wide installations [Introduction].
This isolation promotes reproducibility, as the exact environment can be easily recreated on different machines or at different times, a critical aspect for consistent research and development outcomes [Introduction].
Furthermore, a virtual environment keeps the base operating system clean from project-specific packages, contributing to overall system stability and organization [Introduction].
It is important to note that while the primary Triton project offers support for various operating systems, it does not provide official pre-built binaries for Windows 1. Consequently, setting up Triton on Windows necessitates the use of a community-driven fork, known as triton-windows, which offers Windows-compatible installation packages and often includes bundled versions of CUDA and other essential components 2.
⚡ Understanding CUDA Compatibility on Windows
To begin the process of setting up CUDA and Triton, it is crucial to first understand the compatibility requirements for CUDA on the Windows operating system. NVIDIA’s CUDA Toolkit enables the development and deployment of GPU-accelerated applications. The latest stable release of the CUDA Toolkit is version 12.8, which was launched in January 2025 3. This version represents the most up-to-date features and improvements from NVIDIA. When considering the triton-windows fork, which is essential for running Triton on Windows, compatibility with CUDA 12.x versions is paramount. Specifically, version 3.2 of triton-windows comes bundled with CUDA 12.4, while the newer pre-release version 3.3 includes CUDA 12.8 2. PyTorch, a widely used deep learning framework often paired with Triton, has its own dependencies on the CUDA runtime. While PyTorch officially supports CUDA 12.1, NVIDIA’s drivers are generally designed to be backward compatible 5. Discussions within the developer community suggest that certain CUDA versions, such as 12.1, might offer better stability or performance in some scenarios, while newer versions like 12.4 and 12.6 could provide specific optimizations 5. ONNX Runtime, another runtime that can leverage CUDA for accelerated computations, maintains compatibility across minor version updates within the same major CUDA release, meaning that a version built with CUDA 12.x should work with any other 12.x version 6. For a new setup aiming for both stability and access to the latest features, CUDA 12.8 presents a compelling choice, aligning with the newest stable release and the bundled version in the most recent triton-windows pre-release 2. However, the compatibility of triton-windows 3.2 with CUDA 12.4 and PyTorch’s robust support for 12.1 offer viable alternatives depending on specific project needs and potential framework dependencies 2. The trend within the ecosystem, as seen with ONNX Runtime’s default to CUDA 12.x and the bundling of newer CUDA versions in triton-windows, indicates a broader adoption and optimization for these more recent CUDA releases 2. Crucially linked to the CUDA Toolkit version is the requirement for a compatible NVIDIA driver. NVIDIA provides detailed compatibility tables in the release notes for each CUDA Toolkit, specifying the minimum required driver version for different operating systems, including Windows 4. For example, CUDA 12.8 Update 1 necessitates a minimum driver version of 572.61 on Windows 4. To ensure a successful setup, users must first determine their currently installed NVIDIA driver version. This can be done through the NVIDIA Control Panel or the Windows Device Manager [Understanding CUDA Compatibility on Windows].
It is then essential to visit the official NVIDIA website to download and install a driver version that meets or exceeds the minimum requirement for the chosen CUDA Toolkit [Understanding CUDA Compatibility on Windows].
Beyond software versions, the architecture of the NVIDIA GPU itself plays a significant role in compatibility. CUDA has different compute capability requirements that vary depending on the version and the specific features being utilized 3. Notably, Triton version 3, which is the version used by the triton-windows fork, requires a GPU with a CUDA Compute Capability of 7.0 or higher 9. Users need to identify their specific NVIDIA GPU model. This information can be found in the Windows Device Manager 10. Once the GPU model is known, resources such as the NVIDIA CUDA GPUs webpage 7) or the comprehensive table in the Wikipedia article on CUDA 3 can be consulted to determine the compute capability of the GPU. It is vital to confirm that the GPU’s compute capability meets the minimum requirement for both the selected CUDA version (as some advanced features might have higher demands) and for Triton (which is 7.0 or greater for version 3) 3. The GPU’s compute capability represents a fundamental hardware limitation; if it is insufficient, newer versions of CUDA and Triton will not function, regardless of the software installation steps taken 3.
⚡ Table 1: Compatible CUDA Versions and Minimum Windows Driver Requirements
CUDA Version | Minimum Driver Version |
---|---|
CUDA 12.8 Update 1 | >= 572.61 |
CUDA 12.8 GA | >= 572.30 |
CUDA 12.6 Update 3 | >= 561.17 |
CUDA 12.6 GA | >= 560.76 |
CUDA 12.4 Update 1 | >= 551.78 |
CUDA 12.4 GA | >= 551.61 |
CUDA 12.1 Update 1 | >= 531.14 |
CUDA 12.1 GA | >= 531.14 |
Data derived from 4
⚡ Triton and CUDA Compatibility in a Windows Environment
As previously mentioned, the triton-windows fork is the essential component for running Triton within a Windows environment 2. Understanding its compatibility with different CUDA versions is key to a successful setup. Triton version 3.2, available through triton-windows, is specifically bundled with CUDA 12.4 2. This version of Triton requires PyTorch version 2.6 or higher, which must be built with support for CUDA 12 2. For users looking to leverage the latest features, the pre-release version 3.3 of Triton (also from triton-windows) includes CUDA 12.8 and necessitates PyTorch version 2.7 (or a nightly build) or newer, again with CUDA 12 support 2. It is important to note that the triton-windows documentation explicitly states that CUDA versions 11 and older are not supported 2. Therefore, for users choosing triton-windows version 3.2, CUDA 12.4 is the implicitly compatible CUDA version due to its inclusion in the installation package. Similarly, for those opting for the newer 3.3 pre-release, CUDA 12.8 is the target CUDA version. Should a user have a specific requirement to use a different CUDA 12.x version, they would need to install it separately and ensure its compatibility with both PyTorch and the chosen triton-windows version. The approach taken by the triton-windows project, where specific CUDA versions are bundled with particular Triton releases, significantly simplifies the compatibility considerations for users on Windows 2. Similar to the official Triton project, the triton-windows fork maintains the requirement for a GPU with a CUDA Compute Capability of 7.0 or higher for Triton version 3 9. This means that users must still verify their GPU’s compute capability against this minimum specification, as detailed in the “Understanding CUDA Compatibility” section of this report. This consistent hardware requirement across both the main Triton project and the Windows-specific fork highlights the fundamental hardware limitations for running contemporary Triton versions 9.
Table 2: Compatible Triton and CUDA Versions for Windows (using triton-windows)
Triton Version (from triton-windows) | Bundled CUDA Version | Minimum Compatible PyTorch Version (with CUDA 12 support) |
---|---|---|
3.2 | CUDA 12.4 | >= 2.6 |
3.3 (Pre-release) | CUDA 12.8 | >= 2.7 (Nightly) |
Data derived from 2
⚡ Python Version Requirements
Selecting a compatible Python version is another crucial step in setting up CUDA and Triton within a Windows virtual environment. The choice of Python version must align with the requirements of both CUDA, Triton, and any deep learning frameworks that will be used, such as PyTorch. PyTriton, the Python client library for interacting with Triton Inference Server, requires Python version 3.8 or higher 12. The main Triton project, although not officially supporting pre-built Windows binaries, offers binary distributions for Python versions ranging from 3.8 to 3.12 1. Importantly, the triton-windows fork has been reported to work successfully with Python versions 3.10 and 3.11, as indicated by community reports and setup guides 9. Additionally, tritonclient, another Python client library for communicating with Triton Inference Server, supports Python 3.6 and later 15. Considering the compatibility information specifically for triton-windows and its common integration with PyTorch, recommending Python 3.10 or 3.11 appears to be the most reliable approach for a Windows setup. These versions are actively supported and have been explicitly mentioned as working well with the Windows fork. While other versions might technically be compatible, prioritizing those with confirmed positive reports in the context of triton-windows on Windows provides a more stable foundation for users. The consistent mention of Python 3.10 and 3.11 across various independent sources in the context of triton-windows on Windows suggests that these are well-tested and dependable versions for this particular environment.
⚡ Step-by-Step Guide: Setting up a Windows Virtual Environment
The first practical step in setting up CUDA and Triton is to create an isolated Python virtual environment. This ensures that all necessary packages and their dependencies are contained within a specific project directory, avoiding conflicts with other Python installations or projects. To create a virtual environment on Windows, you can use the built-in venv module.
1. Open Command Prompt or PowerShell: Open your preferred command-line interface on your Windows system. 2. Navigate to Project Directory: Use the cd command to navigate to the directory where you plan to work with CUDA and Triton. This could be a new directory created specifically for this project. 3. Create Virtual Environment: Execute the following command: python -m venv .venv. This command will create a new directory named .venv (a common convention for virtual environment directories, but you can choose a different name if desired) within your current project directory. This .venv directory will contain a copy of the Python interpreter, the pip package installer, and other essential files needed for a self-contained Python environment. 4. Activate Virtual Environment: Once the virtual environment is created, you need to activate it to use the isolated Python installation and install packages within it.
-
Command Prompt: Navigate to the .venv directory using cd .venv and then to the Scripts subdirectory using cd Scripts. Run the command activate.
-
PowerShell: Navigate to the .venv directory and then run the command .\Scripts\Activate.ps1. You might encounter a permissions error in PowerShell. If so, you may need to adjust the execution policy by running the command Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser and then trying to activate the environment again 14. 5. Verification: Upon successful activation, the name of your virtual environment (e.g., (.venv)) will appear at the beginning of your command prompt or PowerShell prompt. This indicates that you are now working within the isolated virtual environment. Activating the virtual environment before proceeding with the installation of CUDA-related packages and Triton is crucial. This ensures that these dependencies are installed within the isolated environment and do not interfere with your system’s global Python installation or other virtual environments.
⚡ Step-by-Step Guide: Installing CUDA in the Virtual Environment
With the virtual environment set up, the next step is to install the CUDA Toolkit on your Windows system. For managing dependencies within a virtual environment, using conda is generally the most recommended and streamlined approach 7. Conda is a package and environment management system that can install packages and their dependencies within isolated environments.
1. Install Conda (if not already installed): If you don’t have Conda installed on your Windows system, you will need to install it. You can choose to install either Miniconda, which is a minimal installation containing only conda, Python, and their dependencies, or Anaconda, which is a more comprehensive distribution that includes a large number of pre-installed packages. 2. Activate Virtual Environment: Open either the Anaconda Prompt (if you installed Anaconda) or your regular command prompt or PowerShell and activate the virtual environment you created in the previous step using the command: conda activate <your_env_name> (replace <your_env_name> with the name you chose, e.g., .venv if you used venv). 3. Create a Dedicated Conda Environment (Optional but Recommended): For further isolation, especially if you plan to work on multiple GPU-accelerated projects, you might want to create a dedicated conda environment specifically for this purpose. You can do this using the command: conda create -n gpu_env python=<recommended_python_version> (replace <recommended_python_version> with either 3.10 or 3.11, as discussed earlier). 4. Install CUDA Toolkit using Conda: Once your conda environment is activated, you can install the CUDA Toolkit from the NVIDIA channel. To install the latest compatible version, use the command: conda install -c nvidia cuda. If you have decided on a specific CUDA version based on the triton-windows bundling or PyTorch compatibility, you can install that specific version. For example, to install CUDA 12.1, use: conda install -c nvidia/label/cuda-12.1 cuda. For CUDA 12.4 (bundled with triton-windows 3.2): conda install -c nvidia/label/cuda-12.4 cuda, and for CUDA 12.8 (bundled with triton-windows 3.3): conda install -c nvidia/label/cuda-12.8 cuda 7. 5. Alternative (System-wide Installation): While conda is preferred for virtual environments, you can also choose to install the CUDA Toolkit system-wide from the NVIDIA website 7. Visit the NVIDIA CUDA Toolkit download page, select your operating system (Windows), architecture (typically x86_64), and desired CUDA version. You can choose between a network installer (smaller initial download) or a full installer. Download the installer and follow the on-screen instructions. 6. Environment Variables (for System-wide Installation): If you opted for a system-wide installation, the CUDA installer usually sets the required environment variables (CUDA_PATH, Path). However, it’s important to verify these. Open the Environment Variables settings in Windows (search for “environment variables” in the Windows search bar). Under “System variables,” check if CUDA_PATH exists and points to your CUDA installation directory (e.g., C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8).
Also, under “User variables” or “System variables,” find the Path variable and ensure it includes entries for %CUDA_PATH%\bin and %CUDA_PATH%\libnvvp\bin. Using conda to manage CUDA within the virtual environment offers the advantage of better isolation and helps prevent potential conflicts, especially if you are working on multiple projects that might require different CUDA versions. However, it’s worth noting that the CUDA bundled within triton-windows might sometimes expect a system-wide CUDA installation to be present for certain functionalities 2.
⚡ Step-by-Step Guide: Installing Triton in the Virtual Environment
With CUDA installed and your virtual environment activated, you can now proceed to install Triton. Given that official Windows binaries are not available for the main Triton project, you will need to install the triton-windows fork using pip.
1. Activate Virtual Environment: Ensure that the Python virtual environment you created (using either venv or conda) is activated. 2. Install triton-windows using pip: Open your activated virtual environment’s command prompt or PowerShell and run the following command to install the latest stable release of triton-windows: pip install -U triton-windows. To install the newest pre-release version (e.g., 3.3, which bundles CUDA 12.8), use the command: pip install -U —pre triton-windows 2. Pip will download and install the triton-windows package and its dependencies within your active virtual environment. 3. Install Microsoft Visual C++ Build Tools (Potentially Required): The triton-windows fork, like the main Triton project, often requires a C++ compiler to be present on your system for certain operations, particularly when compiling custom Triton kernels for GPU execution 2. If you encounter errors during the installation or when trying to use Triton that indicate a missing compiler, you will need to install Microsoft Visual C++ (MSVC) and the Windows SDK. You can achieve this by either installing the full Visual Studio (making sure to select the “Desktop development with C++” workload during installation) or by installing the standalone Visual Studio Build Tools 2. The Visual Studio Build Tools provide the necessary compiler and related tools without installing the entire Visual Studio IDE. You can download them from the official Microsoft website.
Set CUDA_PATH Environment Variable (If not using bundled CUDA): If you installed CUDA manually (either system-wide or via conda) and triton-windows does not automatically detect it (especially if you chose not to use the bundled CUDA), you might need to set the CUDA_PATH environment variable within your activated virtual environment. You can try doing this using the command: set CUDA_PATH=“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8” (adjust the path to match your actual CUDA installation directory).
The approach of bundling CUDA within the triton-windows wheels simplifies the initial setup process considerably by eliminating the need for a separate CUDA installation in many cases. However, the requirement for a C++ compiler to be present on the system for compiling Triton kernels remains an independent dependency that users might need to address separately.
⚡ Verifying the Installation
After installing CUDA and Triton, it is essential to verify that both are correctly installed and recognized within your virtual environment. This will help ensure that you have a working foundation for your GPU-accelerated computing tasks.
⚡ Verify CUDA:
1. Open New Command Prompt/PowerShell and Activate Venv: Open a new command prompt or PowerShell window and activate the Python virtual environment where you installed CUDA. 2. Check nvcc Version: Run the command nvcc —version. If CUDA is correctly installed and its path is configured, this command should output information about the CUDA compiler version 17. If the command is not found, it indicates an issue with your CUDA installation or the PATH environment variable. 3. Verify with PyTorch (if applicable): If you intend to use Triton with PyTorch, you can verify if PyTorch can detect CUDA. First, ensure you have installed the CUDA-enabled version of PyTorch within your virtual environment. For example, if you installed CUDA 12.1, you would use a command like: pip install torch torchvision torchaudio —index-url https://download.pytorch.org/whl/cu121. Adjust the cuXXX part of the URL to match your installed CUDA version. Python import torch print(f”PyTorch version: {torch.__version__}”) print(f”CUDA available: {torch.cuda.is_available()}”) print(f”Number of CUDA devices: {torch.cuda.device_count()}”) if torch.cuda.is_available(): print(f”CUDA device name (0): {torch.cuda.get_device_name(0)}”)
If CUDA available is True, it means PyTorch has successfully detected your CUDA installation.
⚡ Verify Triton:
1. Locate Test Script: The triton-windows GitHub repository 2) often contains a simple test script to verify the Triton installation. Look for a file named something like test_triton.py or similar within the repository and download it. 2. Navigate and Activate: Open a command prompt or PowerShell, navigate to the directory where you saved the test script, and ensure that your virtual environment is activated. 3. Run Test Script: Execute the script using the command: python test_triton.py. If Triton is installed correctly and can interact with CUDA, the script should run without any errors and likely produce output indicating a successful test. Performing these verification steps for both CUDA and Triton is crucial. A successful CUDA installation does not automatically mean that Triton is also working correctly, and vice versa. Independent verification helps to identify the source of any potential issues.
⚡ Common Issues, Solutions, and Workarounds
During the setup process of CUDA and Triton in a Windows virtual environment, users might encounter several common issues. Understanding these potential problems and their solutions can save significant time and effort.
- Issue: The nvcc command is not found after installing CUDA.
- Solution: This typically indicates that the CUDA installation directory has not been correctly added to your system’s or virtual environment’s PATH environment variable. Verify the CUDA_PATH environment variable and ensure that %CUDA_PATH%\bin is included in the PATH variable. If you installed CUDA using conda, make sure that the conda environment where CUDA is installed is activated 10.
- Issue: torch.cuda.is_available() returns False even after installing PyTorch.
- Solution: First, double-check that you installed the CUDA-enabled version of PyTorch that matches your installed CUDA version. Ensure that your NVIDIA drivers are compatible with the CUDA version you are using. Sometimes, restarting your system after installing drivers or CUDA can resolve this issue 5.
- Issue: Errors occur during pip install triton-windows that are related to missing dependencies or build tools.
- Solution: This often means that a C++ compiler is required but not found. Install Visual Studio Build Tools with the necessary components, including MSVC and the Windows SDK. Also, ensure that your pip version is up to date by running pip install —upgrade pip 2.
- Issue: You encounter import errors when trying to import the triton library in Python.
- Solution: Make sure that your virtual environment is activated and that you installed triton-windows within this specific environment. If the error message indicates issues with DLL files, it might suggest a problem with CUDA or cuDNN (if your Triton usage requires it) not being correctly located. Verify their installation and PATH settings.
- Issue: You are experiencing performance issues with your Triton kernels.
- Workaround: Optimizing Triton kernel performance can be complex. Ensure that you are using appropriate data types for your GPU computations. Experiment with different block sizes and grid layouts in your Triton code. Consult the official Triton documentation and community forums for detailed optimization strategies.
- Issue: You encounter compatibility problems with your specific GPU model.
- Workaround: Check the documentation and issue tracker for the triton-windows project on GitHub to see if there are any known issues reported for your GPU model. You might need to use a specific version of Triton or CUDA, or it’s possible that your GPU is not fully supported if it has a very old compute capability (below 7.0) 2. Troubleshooting GPU software setups on Windows often requires a systematic approach, involving checks for driver compatibility, CUDA toolkit installation, environment variable configuration, Python package installation within the virtual environment, and the presence of necessary system-level dependencies like C++ compilers.
⚡ Basic Usage of CUDA and Triton in the Virtual Environment
Once CUDA and Triton are successfully installed within your Windows virtual environment, you can begin to utilize them for GPU-accelerated computing.
CUDA: While you won’t directly write CUDA C++ code within a standard Python virtual environment when using libraries like PyTorch, these libraries abstract the use of CUDA for tensor operations. After a successful installation, you can move your computations to the GPU by using the .to(‘cuda’) method on PyTorch tensors. The PyTorch documentation provides numerous examples of how to perform various computations on the GPU using CUDA.
Triton: The primary way to use Triton is by writing custom GPU kernels using Triton’s Python-like syntax. The triton-windows repository and the main Triton documentation (triton-lang.org) offer a wide range of examples demonstrating how to define and launch these kernels. Often, Triton is used in conjunction with PyTorch. You would typically import the triton library in your Python script and define your kernel functions using the @triton.jit decorator. These examples often illustrate basic operations such as vector addition or matrix multiplication, showcasing how to leverage Triton for writing highly optimized GPU code for specific computational tasks.
🌟 Conclusion
Setting up CUDA and Triton in a Windows virtual environment requires careful attention to compatibility and a systematic approach to installation. By following these steps, users can establish a robust foundation for GPU-accelerated computing on their Windows systems. The key steps include: creating and activating a Python virtual environment; installing a compatible NVIDIA driver; installing the CUDA Toolkit, preferably using conda within the virtual environment for better isolation; installing PyTorch with CUDA support that aligns with your installed CUDA version and the requirements of triton-windows; installing the triton-windows fork using pip; potentially installing Microsoft Visual C++ Build Tools for compiling Triton kernels; and finally, verifying the installation of both CUDA and Triton using the methods described. This isolated environment offers significant benefits for managing dependencies and ensuring the reproducibility of your GPU-accelerated computing projects on Windows. It is recommended to begin with the latest stable versions of drivers and the CUDA Toolkit, and the most recent (non-pre-release if stability is preferred) version of triton-windows. Users should also be prepared to consult the documentation and community resources for troubleshooting any issues that might be specific to their hardware or software configuration.
🔧 Works cited
1. Installation - Triton documentation, accessed on March 26, 2025, https://triton-lang.org/main/getting-started/installation.html 2. Fork of the Triton language and compiler for Windows support and easy installation - GitHub, accessed on March 26, 2025, https://github.com/woct0rdho/triton-windows 3. CUDA - Wikipedia, accessed on March 26, 2025, https://en.wikipedia.org/wiki/CUDA 4. 1. CUDA 12.8 Update 1 Release Notes - NVIDIA Docs, accessed on March 26, 2025, https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html 5. Compatibility between CUDA 12.6 and PyTorch, accessed on March 26, 2025, https://discuss.pytorch.org/t/compatibility-between-cuda-12-6-and-pytorch/209649 6. NVIDIA - CUDA | onnxruntime, accessed on March 26, 2025, https://onnxruntime.ai/docs/execution-providers/CUDA-ExecutionProvider.html 7. 1. Introduction — Installation Guide Windows 12.8 documentation - NVIDIA Docs, accessed on March 26, 2025, https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/ 8. Triton Inference Server Release 24.03 - NVIDIA Docs Hub, accessed on March 26, 2025, https://docs.nvidia.com/deeplearning/triton-inference-server/release-notes/rel-24-03.html 9. Triton 3 wheels published for Windows and working - Now we can have huge speed up at some repos and libraries : r/StableDiffusion - Reddit, accessed on March 26, 2025, https://www.reddit.com/r/StableDiffusion/comments/1g45n6n/triton_3_wheels_published_for_windows_and_working/ 10. Step-by-Step Guide to Installing CUDA and cuDNN for GPU Acceleration | DigitalOcean, accessed on March 26, 2025, https://www.digitalocean.com/community/tutorials/install-cuda-cudnn-for-gpu 11. finally manage to install triton and sageattn. [03:53<00:00, 11.69 s/it] - Reddit, accessed on March 26, 2025, https://www.reddit.com/r/StableDiffusion/comments/1jch42z/finally_manage_to_install_triton_and_sageattn/ 12. pytriton/docs/installation.md at main · triton-inference-server/pytriton - GitHub, accessed on March 26, 2025, https://github.com/triton-inference-server/pytriton/blob/main/docs/installation.md 13. Installation - PyTriton - GitHub Pages, accessed on March 26, 2025, https://triton-inference-server.github.io/pytriton/0.1.4/installation/ 14. Install Triton On Windows - InvokeAI - Restack, accessed on March 26, 2025, https://www.restack.io/p/invokeai-answer-install-triton-windows-cat-ai 15. tritonclient - PyPI, accessed on March 26, 2025, https://pypi.org/project/tritonclient/ 16. 1. Introduction — Installation Guide Windows 12.8 documentation - NVIDIA Docs Hub, accessed on March 26, 2025, https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html 17. clementw168/install-and-test-gpu: Step by step guide to create your venv with Tensorflow or Pytorch using CUDA - GitHub, accessed on March 26, 2025, https://github.com/clementw168/install-and-test-gpu 18. Install CUDA toolkit and drivers in VM - Microsoft Learn, accessed on March 26, 2025, https://learn.microsoft.com/en-us/answers/questions/1377984/install-cuda-toolkit-and-drivers-in-vm 19. Installing Cuda in Python virtual environment: environment variables and other - cuDNN, accessed on March 26, 2025, https://forums.developer.nvidia.com/t/installing-cuda-in-python-virtual-environment-environment-variables-and-other/286975