Skip to content

Instantly share code, notes, and snippets.

@abcinje
Last active May 18, 2020 09:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save abcinje/856749d0b3df96845cb6e44c6cfd2cc1 to your computer and use it in GitHub Desktop.
Save abcinje/856749d0b3df96845cb6e44c6cfd2cc1 to your computer and use it in GitHub Desktop.
bufferring cluster configuration

Host

  1. Install docker
$ sudo apt update
$ sudo apt install -y docker.io
$ sudo usermod -a -G docker $USER
$ sudo service docker restart
$ echo "Re-login required to start docker"
$ logout
  1. Install nvidia driver
$ sudo apt install -y gcc make linux-headers-$(uname -r)
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID | sed -e 's/\.//g')
$ wget https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/cuda-$distribution.pin
$ sudo mv cuda-$distribution.pin /etc/apt/preferences.d/cuda-repository-pin-600
$ sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/7fa2af80.pub
$ echo "deb http://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64 /" | sudo tee /etc/apt/sources.list.d/cuda.list
$ sudo apt update
$ sudo apt -y install cuda-drivers
  1. Install nvidia-docker
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
$ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

$ sudo apt update && sudo apt install -y nvidia-container-toolkit
$ sudo systemctl restart docker
  1. Download docker image
$ docker pull abcinje/bufferring:v2

5-1. Configure NFS (server)

$ sudo apt install -y nfs-kernel-server
$ mkdir $HOME/cloud
$ sudo bash -c "echo $HOME/cloud *\(rw,sync,no_root_squash,no_subtree_check\) >> /etc/exports"
$ sudo exportfs -a

5-2. Configure NFS (client)

$ sudo apt install -y nfs-common
$ mkdir $HOME/cloud
$ sudo mount -t nfs <server_ip>:$HOME/cloud $HOME/cloud
  1. Configure host ssh
$ sudo bash -c "echo Port 2222 >> /etc/ssh/sshd_config"
$ sudo service ssh restart
  1. Run docker image
$ docker run --gpus all -it --network=host -v $HOME/cloud:/root/cloud abcinje/bufferring:v2

Container

1-1. Configure ssh (master)

$ cd
$ ssh-keygen -t rsa
$ cp $HOME/.ssh/id_rsa.pub $HOME/cloud
$ chmod 600 $HOME/.ssh/id_rsa

1-2. Configure ssh (slave)

$ cd
$ mkdir .ssh
$ cat $HOME/cloud/id_rsa.pub >> $HOME/.ssh/authorized_keys
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment