Skip to content

Instantly share code, notes, and snippets.

@derekmerck
Last active June 30, 2019 14:57
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 derekmerck/7b109745f0d0e42c7ea75bb3536907cd to your computer and use it in GitHub Desktop.
Save derekmerck/7b109745f0d0e42c7ea75bb3536907cd to your computer and use it in GitHub Desktop.
Configure a Packet.com GPU machine (i.e., g2.large.x86 with 2x v100) with Ubuntu 18.4, NVIDIA drivers, Docker CE, and Anaconda Python
#cloud-config
# --------------------------
# Packet cuda cloud-config
# --------------------------
# Derek Merck
# Summer 2019
# Configure a Packet.com GPU machine (i.e., g2.large.x86 with 2x v100) with Ubuntu 18.4
# - NVIDIA drivers
# - Docker CE
# - Anaconda Python
# - PyTorch
# See https://support.packet.com/kb/articles/installation-of-nvidia-drivers-cuda-for-x2-systems
# Takes about 5 minutes to set itself up
# Create a local dev environment:
# $ /usr/local/anaconda/bin/conda init
# $ source .bashrc
# $ conda create -n my_env -clone pytorch
# $ conda activate my_env
repo_update: true
repo_upgrade: all
apt:
sources:
docker:
source: "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
keyid: "9DC858229FC7DD38854AE2D88D81803C0EBFCD88"
# Key from https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
cuda:
source: "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /"
key: |
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1
mQINBFdtt4UBEAC8FDSWMR07GJZ265giLn7kLF+EsJCWESUq6Cd13QN0JQ/tLibi
QlW4ZjeOnEH9VPlqh/mKqNMG4SwRt8S+GHpePMQrr0aOkiRGfCclnAWIZURSAP+t
PLelCt43fkw1BBTopd/0oOzO8kHu8j8WU4A8GHxqghfFWPv54FQs2iaZ2eWR7a6d
79IJrbDKaVCCiQrkhCM8m648pNKHhuoJ9cQXFV+uvwkpfmKWGQ4ultxlOyjLHJLF
vuML2RuAO9IxbdZjzeYNN+T+wjFIBVcPnwEO+WrYgvGkT4r9aqVqTeg3EPb7QclV
sKBVJdxk4jZl0y22HAWqScVi6SJ15uK9pXxywDZkbpuRBWx4ThWiGe/FiUa2igi9
/SIvqN2TBY0g18sRTrylVr1wE1UGa/y7nDx6PoGCP1frBt8YUYt3pkM8Xvb2CRxx
CyWwmuFEQHC6jCEWf7FnoBHBYQwTVGNrU0vkuIeDrm+ZAcv8wx+ie1hlFhqCCJnf
jqeQ0/zA9RPmCPOkLyTdSsNZtlxxk7bzCdTdFFKzBjGTR7Gz3SMSp23d11eIyRiF
HQsp2v0SvnPJ6OcgB95Hmo544vi3RuoVfovtDOdfSBCRxP+GhhxkKSrTleQjD0/r
CGkdG2Kox3m9YllAsvZchLXlS7bZV9mGRF61mVMjF3HJRUQfBBm89VPQ+QARAQAB
tCBjdWRhdG9vbHMgPGN1ZGF0b29sc0BudmlkaWEuY29tPokCNwQTAQgAIQUCV223
hQIbAwULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRD2D0s9f6KvgNArEAChnfcW
rYItgt7xXXubT6E+KpJyJ0RPrXf51S2mhciFbjDl+3EXRMRjOutVmgWYPWUUZaKR
8Iez3Lz4BRmwYOWBLtdnOLbKoSsQUX95rnPFjfly/DFLfjKxz4NRBmh4r4/rCYWm
2hmnXmOAi8kV7fqx3g5XMpJ//N6+T8ctEol2iZ82GrXjadcRWE4rAe7UyuEzJ74y
6ZKIzk5ijdgEKtcaBhzEWvoV5Pr9nkn7ByGsdehKR/gNnjPMYXrklSHGfphJIsS2
S32lMk/kuRjihBcWcYBXIPEQ7CV+PNW2TlkZj/YqTg637sZHwkhcjcNzxeqKvRYG
8V7Ju5hTDxL1UQBmgDS3cRx1lw7tYRG5bS67tbC2dc/CpPkG5agiZ/WyoHQDnn4r
1fRuOFx694QR6+0rAP6171xEEoNAPaH7gdJdhWKiYiJD0T2EEbW7wBUi/EupeKRv
kR12R1jUa1mlpxNtWQxJ7qp98T9+DmkxI1XDmWx0/g4ryuicwLDSqoPgNcRNdSQb
b8YfTqrkqaDdYzwLr/n0YKW3cYIvIeisV0WxRjb6OP7oAlAtaAhImlIc//51qNO7
/WAud6qMtnhFoZayR/BzLKqnCioN5GYr9BAKskpPHe9cDKVS3fg+Qvc1sNJID+jf
k52PqyW24Qsr0A9+5zQyE4tH9dfv120gj9avmg==
=0nKc
-----END PGP PUBLIC KEY BLOCK-----
package_reboot_if_required: true
packages:
- pciutils
- curl
- build-essential
- linux-headers-4.15.0-50-generic
- cuda
- docker-ce
- git
runcmd:
- [cd, /tmp]
- [curl, -O, "https://repo.anaconda.com/archive/Anaconda3-2019.03-Linux-x86_64.sh"]
- [bash, Anaconda3-2019.03-Linux-x86_64.sh, -b, -p, /usr/local/anaconda]
- [/usr/local/anaconda/bin/conda, create, -n, pytorch, -y, pytorch, torchvision, cudatoolkit=10.1, -c, pytorch]
# Suppress error from bug with packet.com's ec2 metadata
datasource:
Ec2:
strict_id: false
# Add an elastic IP address
# write_files:
# - content: |
# auto lo:0
# iface lo:0 inet static
# address xx.xx.xx.xx
# netmask 255.255.255.255
# path: /etc/network/interfaces
# append: true
# Add sudo users
# users:
# - name: <user name>
# gecos: <full name>
# groups: docker
# ssh_authorized_keys:
# - ssh-rsa AAAAxxxxxx...
# sudo: ['ALL=(ALL) NOPASSWD:ALL']
# shell: /bin/bash
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment