CUDA Kernel Notes
GPU Setup @ Ubuntu22+i7+3090
-
Disable
nouveau
!!!1<!-- sudo gedit /etc/modprobe.d/blacklist-nouveau.conf --> blacklist nouveau options nouveau modeset=0
- Install driver
sudo apt install nvidia-driver-***
to support dual monitors - Install CUDA Toolkit 11.82
-
Install cuDNN 8.63
sudo dpkg -i cudnn-local-repo-ubuntu2204-8.6.0.163_1.0-1_amd64.deb sudo cp /var/cudnn-local-repo-ubuntu2204-8.6.0.163/cudnn-local-FAED14DD-keyring.gpg /usr/share/keyrings/ sudo apt-get update sudo apt-get install libcudnn8=8.6.0.163-1+cuda11.8 sudo apt-get install libcudnn8-dev=8.6.0.163-1+cuda11.8 sudo apt-get install libcudnn8-samples=8.6.0.163-1+cuda11.8
- (optional)
sudo apt install libstdc++-12-dev
4 - a tool:
pip3 install --upgrade nvitop
5
Toolkit:
- Python
- C++
- CUDA =
Compute Unified Device Architecture
- PyTorch (A replacement for NumPy to use the power of GPUs)
- pybind11
- CasADi
A kernel is executed in parallel by an array of threads:
- All threads run the same code
- Each thread has an ID that it uses to compute memory addresses and make control decisions
Materials:
- Introduction to GPUs: CUDA
- C++/CUDA Extensions in PyTorch
- PyTorch Cheat Sheet
- pytorch-cppcuda-tutorial
- Learning 4 CasADi Framework
- CUDA Accelerated Robot Library
- CUDA Toolkit Documentation
- GPU编程(CUDA)
- CUDA Programming
Simulator
- MJX = Brax(Google Research) ❤️ MuJoCo6(DeepMind)
- JAX7 & CUDA using pip wheels!
pip install --upgrade "jax[cuda11_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
- JAX7 & CUDA using pip wheels!
- Tiny Differentiable Simulator
- C++ & CUDA
- Isaac Gym
- Python 3.8!
- PyTorch & CUDA
-
https://developer.nvidia.com/cuda-11-8-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=22.04&target_type=runfile_local ↩
-
https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn-860/install-guide/index.html#installlinux-deb ↩
-
https://stackoverflow.com/questions/74543715/usr-bin-ld-cannot-find-lstdc-no-such-file-or-directory-on-running-flutte ↩
-
https://jax.readthedocs.io/en/latest/notebooks/quickstart.html ↩