Skip to content

Instantly share code, notes, and snippets.

@cloneofsimo
Last active June 18, 2024 10:48
Show Gist options
  • Save cloneofsimo/5b2561edf8b6d4216ee9fd58b9aca2e6 to your computer and use it in GitHub Desktop.
Save cloneofsimo/5b2561edf8b6d4216ee9fd58b9aca2e6 to your computer and use it in GitHub Desktop.
Very common stuff that I forget all the time and I really shouldn't

clean clean

black .
autoflake --remove-all-unused-imports -i ./*
isort .

Check basic stuff

du -h | awk '$1 ~ /G/ && $1 > 1' | sort -h : over 1gb of current disk

Local git setup

git config --global init.defaultBranch main
git config user.name "Simo Ryu"
git config user.email "cloneofsimo@gmail.com"

common initial machine setups

Install python3.9, venv, and make venv

cd
export DEBIAN_FRONTEND=noninteractive
sudo apt update
sudo apt install -y software-properties-common
sudo apt install -y pdsh
sudo apt-get install -y tmux
sudo apt-get install -y htop
sudo apt-get install -y git-lfs
sudo git lfs install
sudo apt install -y ffmpeg
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install -y python3.9
sudo apt install -y python3.9-venv python3.9-distutils 
sudo apt install -y libpython3.9-dev python3.9-dev

python3.9 -m ensurepip
python3.9 -m venv py39cuda
source ~/py39cuda/bin/activate
pip install torch deepspeed mosaicml-streaming tqdm click transformers wandb plotly pandas
wandb login

Install basic stuff, git config, and cmd

git config --global user.name "Simo Ryu"
git config --global user.email "cloneofsimo@gmail.com"

ACTIVATE_CMD="source ~/py39cuda/bin/activate"

# Check if the command is already in .bashrc
if grep -Fxq "$ACTIVATE_CMD" ~/.bashrc
then
    echo "Virtual environment activation command already in .bashrc"
else
    # Add the command to .bashrc
    echo "$ACTIVATE_CMD" >> ~/.bashrc
    echo "Virtual environment activation command added to .bashrc"
fi

$ACTIVATE_CMD
@cloneofsimo
Copy link
Author

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC57w2K4gr9f+kpctuIZTGe1m+YC+5evJLc0igLs9MZ1zmBEHGqVmgtaWzuAunHqyRa2p64Wjv4OZ5i7qKb601ZU3uFtGkK9MxL1K6VvNC7HRr27chgs7nIc5/ZAslQoquPzbssOcRR/DTqKdfeb6l76ZkE7ZyXlVzX5JFRbPuUK4po7rtHPb0bE51dkFNyBqPLCidfY/+OuXMs1EXoH+n+TFfiXE/i5Ec5Zo9gvSuntiBewH+QFsozYItGEFKiodT40TuAZkHGqXydIzB+dc7NcL2ZAJsPebnuxolD3IE3tdticy/E/WlBfdCIeJsLS56lOUkSSzHf3dWzlw9cu2kH8XhfxfgE70z62NdFMNDih7AUoFovfHx42F5yEsr2kQSPZQXdwCvRauZ36Mu4u8t1yF8//GiY9ZNX+7SArE2eImo86nHPMGohn8ofVvWhGvhQP+tlUEdwdG2YMiCR5socBj8WLLFFITOo671IfXCcGMMeQJaom3+AoYo8g6irPvM= clone@BOOK-2UT1U9LBLL

@cloneofsimo
Copy link
Author

cloneofsimo commented Jun 15, 2024

Iterate over servers to put the key

SIMO_PUBKEY="ssh-rsa ..."

# Nodes
NODES=(
  "4a78144e-01.cloud.together.ai"
  "4a78144e-02.cloud.together.ai"
  "4a78144e-03.cloud.together.ai"
  "4a78144e-04.cloud.together.ai"
)

# Loop through each node and configure the SSH access for simo
for NODE in "${NODES[@]}"; do
  ssh root@$NODE <<EOF
    # Create .ssh directory and set permissions
    sudo -u simo mkdir -p /home/simo/.ssh
    sudo -u simo chmod 700 /home/simo/.ssh

    # Add the public key to authorized_keys
    echo "$SIMO_PUBKEY" | sudo -u simo tee -a /home/simo/.ssh/authorized_keys
    sudo -u simo chmod 600 /home/simo/.ssh/authorized_keys
EOF
done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment