Créez une instance Ubuntu à l'aide d'une instance GPU appelée p2.xlarge comme indiqué ci-dessous. (Actuellement, les instances p2 ne sont pas disponibles dans la région de Tokyo, donc ici)
Définissez un nom approprié pour le groupe de sécurité et la paire de clés. (Ici, il s'agit de sg_01 '',
kp_01 ''.)
Vous pouvez également utiliser une paire de clés existante sans aucun problème.
Après avoir téléchargé la paire de clés, accédez à .ssh et modifiez les autorisations.
$ mv ~/Download/kp_01.pem ~/.ssh/.
$ chmod 600 ~/.ssh/kp_01.pem
Une fois l'instance créée, vérifiez le DNS public dans la console de gestion et connectez-vous avec SSH.
$ ssh -i ~/.ssh/kp_01.pem ubuntu@<Public DNS>
Ce qui suit est le travail sur EC2. Tout d'abord, mettez à jour le package.
$ sudo apt-get update
$ sudo apt-get upgrade
CUDA
URL: https://developer.nvidia.com/cuda-downloads Installation guide: http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
Vérifiez si vous disposez d'un GPU prenant en charge CUDA
$ lspci | grep -i nvidia
00:1e.0 3D controller: NVIDIA Corporation GK210GL [Tesla K80](rev a1)
Vérifiez si le système d'exploitation est compatible avec CUDA
$ uname -m && cat /etc/*release
x86_64
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"
NAME="Ubuntu"
VERSION="16.04.2 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.2 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial
Installation de gcc (+ outils de développement)
$ sudo apt-get install build-essential
Installez la même version de l'en-tête du noyau que le noyau en cours d'exécution
$ sudo apt-get install linux-headers-$(uname -r)
Sur https://developer.nvidia.com/cuda-downloads, sélectionnez «Sélectionner la plate-forme cible» comme suit pour afficher le lien de téléchargement et les instructions d'installation.
Récupérez le fichier avec wget à partir de l'URL liée et installez-le.
(Ici, installez
cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64-deb```.)
$ wget https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64-deb
$ sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64-deb
$ sudo apt-get update
$ sudo apt-get install cuda
Définissez ~ / .bash_profile comme suit.
~/.bash_profile
export CUDA_HOME="/usr/local/cuda-8.0"
export PATH="${CUDA_HOME}/bin${PATH:+:${PATH}}"
export LD_LIBRARY_PATH="${CUDA_HOME}/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}"
Veuillez vous reconnecter pour que les paramètres prennent effet.
$ exec $SHELL -l
Créez l'exemple de programme et vérifiez le fonctionnement. (Peu importe si vous ne l'exécutez pas.)
$ cuda-install-samples-8.0.61.sh test
$ cd test/NVIDIA_CUDA-8.0_Samples
$ sed -i "s/nvidia-367/nvidia-375/g" `grep "nvidia-367" -r ./ -l`
$ make
URL: https://developer.nvidia.com/cudnn Vous devez être membre du programme pour développeurs NVIDIA pour télécharger. Étant donné que l'authentification est requise, téléchargez le fichier sur votre PC local et téléchargez-le sur EC2 avec SCP. (Ici, `` cudnn-8.0-linux-x64-v5.1.tgz '' est utilisé.)
SCP du local
$ scp -i ~/.ssh/kp_01.pem ~/Downloads/cudnn-8.0-linux-x64-v5.1.tgz ubuntu@<Public DNS>:~/.
Installer sur EC2 (extraction et placement de fichiers uniquement)
$ tar zxvf cudnn-8.0-linux-x64-v5.1.tgz
$ sudo cp cuda/include/* ${CUDA_HOME}/include/.
$ sudo cp cuda/lib64/* ${CUDA_HOME}/lib64/.
Vous pouvez l'installer avec apt-get.
$ sudo apt-get install libcupti-dev
Cependant, cette fois, j'ai eu l'erreur "*** n'est pas un lien symbolique" lorsque je l'ai exécuté, donc je l'ai résolu comme suit. (Référence: http://stackoverflow.com/questions/43016255/libegl-so-1-is-not-a-symbolic-link)
$ sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org
$ sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1
$ sudo mv /usr/local/cuda-8.0/targets/x86_64-linux/lib/libcudnn.so.5 /usr/local/cuda-8.0/targets/x86_64-linux/lib/libcudnn.so.5.org
$ sudo ln -s /usr/local/cuda-8.0/targets/x86_64-linux/lib/libcudnn.so.5.1.10 /usr/local/cuda-8.0/targets/x86_64-linux/lib/libcudnn.so.5
$ sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org
$ sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39 /usr/lib32/nvidia-375/libEGL.so.1
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/accelerated-computing-instances.html Appliquez "Optimiser les paramètres GPU (instances P2 uniquement)" en vous référant à.
$ sudo nvidia-smi -pm 1
$ sudo nvidia-smi --auto-boost-default=0
$ sudo nvidia-smi -ac 2505,875
Créez un environnement pour pyenv + miniconda en vous référant à l'article ici. ("Il y a en fait un problème avec l'anaconda seul.")
pyenv https://github.com/pyenv/pyenv#installation
git clone et définissez `~ / .bash_profile
`.
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
~/.bash_profile
export PYENV_ROOT="${HOME}/.pyenv"
export PATH="${PYENV_ROOT}/bin:${PATH:+:${PATH}}"
eval "$(pyenv init -)"
miniconda Installez la dernière miniconda (ici, miniconda 3-4.3.11) avec pyenv.
$ pyenv install -l | grep miniconda
...
(réduction)
...
miniconda3-4.3.11
$ pyenv install miniconda3-4.3.11
~/.bash_profile
export CONDA_HOME="${PYENV_ROOT}/versions/miniconda3-4.3.11"
export PATH="${CONDA_HOME}/bin${PATH:+:${PATH}}"
Tensorflow Install with Anaconda Créez un environnement Anaconda avec conda et installez Tensorflow.
$ conda create -n tensorflow python=3.5 anaconda
$ source activate tensorflow
(tensorflow)$ pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.1.0-cp35-cp35m-linux_x86_64.whl
Jupyter notebook http://jupyter-notebook.readthedocs.io/en/latest/public_server.html Définissez les paramètres de connexion au notebook Jupyter démarré sur EC2 à partir d'un PC local.
(tensorflow)$ mkdir certificate
(tensorflow)$ cd certificate
(tensorflow)$ openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mykey.key -out mycert.pem
(tensorflow)$ python
>>> from notebook.auth import passwd
>>> passwd()
Enter password:
Verify password:
'sha1:********'
>>> exit()
Sortie du modèle du fichier de paramètres
(tensorflow)$ jupyter notebook --generate-config
Ajoutez les paramètres suivants
:~/.jupyter/jupyter_notebook_config.py
c.NotebookApp.certfile = '/home/ubuntu/certificate/mycert.pem'
c.NotebookApp.keyfile = '/home/ubuntu/certificate/mykey.key'
c.NotebookApp.ip = '*'
c.NotebookApp.port = 9999
c.NotebookApp.open_browser = False
c.NotebookApp.password='sha1:********'
(tensorflow)$ jupyter notebook
Lorsque vous accédez à `` https: //
Recommended Posts