Aadil Garg
08/07/2024, 6:04 AMrun.sh
#!/bin/bash
# Add CUDA repository
echo "Adding CUDA repository..."
sudo dnf config-manager --add-repo <https://developer.download.nvidia.com/compute/cuda/repos/fedora35/x86_64/cuda-fedora35.repo>
sudo dnf config-manager --add-repo <https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo>
# Clean DNF cache
echo "Cleaning DNF cache..."
sudo dnf clean all
# Install CUDA toolkit
echo "Installing CUDA toolkit..."
sudo dnf -y install cuda-toolkit-11-8
# Install NVIDIA driver
echo "Installing NVIDIA driver..."
sudo dnf -y module install nvidia-driver:latest-dkms
# Update GRUB configuration
echo "Updating GRUB configuration..."
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
# Install extra kernel modules
echo "Installing extra kernel modules..."
sudo dnf -y install kernel-modules-extra
echo "Installing cuDNN 8.9.2.26 for CUDA 11.8..."
sudo dnf -y install libcudnn8-8.9.2.26-1.cuda11.8 libcudnn8-devel-8.9.2.26-1.cuda11.8
echo "Installing container toolkit..."
curl -s -L <https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo> | \
sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
sudo yum install -y nvidia-container-toolkit
sudo yum update -y
sudo yum install docker -y
sudo systemctl start docker
sudo systemctl enable docker
# Set CUDA environment variables
echo "Setting CUDA environment variables..."
echo 'export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda/lib64' >> ~/.bashrc
echo 'export CUDA_HOME=/usr/local/cuda' >> ~/.bashrc
# Source the .bashrc to update the current session
source ~/.bashrc
# Install Typesense GPU dependencies package
echo "Installing Typesense GPU dependencies package..."
curl -O <https://dl.typesense.org/releases/26.0/typesense-gpu-deps-26.0-1.x86_64.rpm>
sudo rpm -ivh --force typesense-gpu-deps-26.0-1.x86_64.rpm
export TYPESENSE_API_KEY=xyz
sudo mkdir "$(pwd)"/typesense-data
sudo docker run -d --gpus all -p 8108:8108 \
-v "$(pwd)"/typesense-data:/data:z typesense/typesense:26.0 \
--data-dir /data \
--api-key=$TYPESENSE_API_KEY \
--enable-cors
echo "All commands executed successfully."