diff --git a/rlgym training/readme-amd.md b/rlgym training/readme-amd.md new file mode 100644 index 0000000..f9258e5 --- /dev/null +++ b/rlgym training/readme-amd.md @@ -0,0 +1,219 @@ +# Getting this working using an AMD RX 7900 XT or XTX + +## Install Ubuntu and pre-requisites + +Install Ubuntu Desktop 22.04.3 - you can always dual-boot this if you're doing training on your gaming PC. This section of the documentation is based on https://rocm.docs.amd.com/projects/radeon/en/latest/docs/install/install-radeon.html + +### Install AMD unified driver package repositories and installer script + +Download and install the amdgpu-install script on the system. + +Enter the following commands to install the installer script for UbuntuĀ® version 22.04.3: + +```bash +sudo apt update +wget https://repo.radeon.com/amdgpu-install/23.20.00.48/ubuntu/jammy/amdgpu-install_5.7.00.48.50700-1_all.deb +sudo apt install ./amdgpu-install_5.7.00.48.50700-1_all.deb +``` + +### Install the Graphics usecase + +Run the following command to install open source graphics and ROCm. + +```bash +amdgpu-install -y --usecase=graphics,rocm +``` + + Watch for output warning or errors indicating an unsuccessful driver installation. + + NOTE: The -y option installs non-interactively. This step may take several minutes, depending on internet connection and system speed. + +Reboot the system. + +```bash +sudo reboot +``` + +### Set permissions for Groups to allow access to GPU hardware resources + +Once the driver is installed, add any current user to the render and video groups to access GPU resources. + + Reboot in order for group changes to take effect. + +Add user to render and video groups + +Enter the following command to check groups in the system: + +```bash +groups +``` + +Add user to the render and video group using the command: + +```bash +sudo usermod -a -G render,video $LOGNAME +``` + +Reboot the system. + +```bash +sudo reboot +``` + +### Post-install verification checks + +Run these post-installation checks to verify that the installation is complete: + +Verify that the current user is added to the render and video groups. + +```bash +groups +``` + +Expected result: + +`` adm cdrom sudo dip video plugdev render lpadmin lxd sambashare + +`` indicates the current user, and this result will vary in your environment. + +Check if amdgpu kernel driver is installed. + +```bash +dkms status +``` + +Expected result: + +amdgpu/x.x.x-xxxxxxx.xx.xx, x.x.x-xx-generic, x86_64: installed + +Check if the GPU is listed as an agent. + +```bash +rocminfo +``` + +Expected result: + +[...] +******* +Agent 2 +******* + Name: gfx1100 + Uuid: GPU-5ecee39292e80c37 + Marketing Name: Radeon RX 7900 XTX + Vendor Name: AMD + [...] +[...] + +Check if the GPU is listed. + +```bash +clinfo +``` + +Expected result: + +[...] + Platform Name: AMD Accelerated Parallel Processing +Number of devices: 1 + Device Type: CL_DEVICE_TYPE_GPU + Vendor ID: 1002h + Board name: Radeon RX 7900 XTX +[...] + +### PyTorch via PIP installation method + +AMD recommends the PIP install method to create a PyTorch environment when working with ROCm for machine learning development. + +Check Pytorch.org for latest PIP install instructions and availability. See Compatibility matrices for support information. + +To install PyTorch, + +Enter the following command to unpack and begin set up. + +```bash +sudo apt install python3-pip -y +``` + +Enter this command to update the pip wheel. + +```bash +pip3 install --upgrade pip wheel +``` + +Enter this command to install Torch and Torchvision for ROCm AMD GPU support. + +```bash +wget https://repo.radeon.com/rocm/manylinux/rocm-rel-5.7/torch-2.0.1%2Brocm5.7-cp310-cp310-linux_x86_64.whl +wget https://repo.radeon.com/rocm/manylinux/rocm-rel-5.7/torchvision-0.15.2%2Brocm5.7-cp310-cp310-linux_x86_64.whl +pip3 install --force-reinstall torch-2.0.1+rocm5.7-cp310-cp310-linux_x86_64.whl torchvision-0.15.2+rocm5.7-cp310-cp310-linux_x86_64.whl +``` + +This may take several minutes. + +Important! AMD recommends proceeding with ROCm WHLs available at repo.radeon.com. +The ROCm WHLs available at PyTorch.org are not tested extensively by AMD as the WHLs change regularly when the nightly builds are updated. + +### Verify PyTorch installation + +Confirm if PyTorch is correctly installed. + +Verify if Pytorch is installed and detecting the GPU compute device. + +```bash +python3 -c 'import torch' 2> /dev/null && echo 'Success' || echo 'Failure' +``` + +Expected result: + +Success + +Enter command to test if the GPU is available. + +```bash +python3 -c 'import torch; print(torch.cuda.is_available())' +``` + +Expected result: + +True + +Enter command to display installed GPU device name. + +```bash +python3 -c "import torch; print(f'device name [0]:', torch.cuda.get_device_name(0))" +``` + +Expected result: Example: device name [0]: Radeon RX 7900 XTX + +device name [0]: + +Enter command to display component information within the current PyTorch environment. + +```bash +python3 -m torch.utils.collect_env +``` + +Expected result: + +PyTorch version + +ROCM used to build PyTorch + +OS + +Is CUDA available + +GPU model and configuration + +HIP runtime version + +MIOpen runtime version + +Environment set-up is complete, and the system is ready for use with PyTorch to work with machine learning models, and algorithms. + +## Update the code + +Identify any parts written specifically for NVIDIA GPUs and modify them to be compatible with AMD GPUs. + +In PyTorch this typically means replacing `.cuda()` calls with `.to('hip')` to leverage ROCm's HIP platform. \ No newline at end of file diff --git a/rlgym training/readme.md b/rlgym training/readme.md new file mode 100644 index 0000000..e926650 --- /dev/null +++ b/rlgym training/readme.md @@ -0,0 +1,9 @@ +# Sarpy v3 + +`python3 -m venv venv` + +On Windows `./venv/Scripts/activate` +On Mac/Linux `source venv/bin/activate` + +`pip3 install -r requirements.txt` +