Erstellen Sie eine Ubuntu-Instanz mit einer GPU-Instanz namens p2.xlarge (siehe unten). (Derzeit sind p2-Instanzen in der Region Tokio nicht verfügbar, also hier)
Legen Sie einen geeigneten Namen für die Sicherheitsgruppe und das Schlüsselpaar fest. (Hier ist es `` sg_01```,
`kp_01```.)
Sie können auch problemlos ein vorhandenes Schlüsselpaar verwenden.
Gehen Sie nach dem Herunterladen des Schlüsselpaars zu .ssh und ändern Sie die Berechtigungen.
$ mv ~/Download/kp_01.pem ~/.ssh/.
$ chmod 600 ~/.ssh/kp_01.pem
Überprüfen Sie nach dem Erstellen der Instanz das öffentliche DNS in der Verwaltungskonsole und melden Sie sich mit SSH an.
$ ssh -i ~/.ssh/kp_01.pem ubuntu@<Public DNS>
Das Folgende ist die Arbeit an EC2. Aktualisieren Sie zunächst das Paket.
$ 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
Überprüfen Sie, ob Sie eine GPU haben, die CUDA unterstützt
$ lspci | grep -i nvidia
00:1e.0 3D controller: NVIDIA Corporation GK210GL [Tesla K80](rev a1)
Überprüfen Sie, ob das Betriebssystem mit CUDA kompatibel ist
$ 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 von gcc (+ Entwicklungstools)
$ sudo apt-get install build-essential
Installieren Sie dieselbe Version des Kernel-Headers wie den laufenden Kernel
$ sudo apt-get install linux-headers-$(uname -r)
Wählen Sie unter https://developer.nvidia.com/cuda-downloads wie folgt "Select Platform Platform" aus, um den Download-Link und die Installationsanweisungen anzuzeigen. Holen Sie sich die Datei mit wget von der verknüpften URL und installieren Sie sie. (Installieren Sie hier `` `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
Stellen Sie in ~ / .bash_profile wie folgt ein.
~/.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}}"
Bitte melden Sie sich erneut an, damit die Einstellungen wirksam werden.
$ exec $SHELL -l
Erstellen Sie das Beispielprogramm und überprüfen Sie den Vorgang. (Es ist egal, ob Sie es nicht ausführen.)
$ 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 Zum Herunterladen müssen Sie Mitglied des NVIDIA Developer Program sein. Da eine Authentifizierung erforderlich ist, laden Sie die Datei auf Ihren lokalen PC herunter und laden Sie sie mit SCP auf EC2 hoch. (Hier wird `` `cudnn-8.0-linux-x64-v5.1.tgz``` verwendet.)
SCP von lokal
$ scp -i ~/.ssh/kp_01.pem ~/Downloads/cudnn-8.0-linux-x64-v5.1.tgz ubuntu@<Public DNS>:~/.
Installation auf EC2 (nur Dateiextraktion und Platzierung)
$ tar zxvf cudnn-8.0-linux-x64-v5.1.tgz
$ sudo cp cuda/include/* ${CUDA_HOME}/include/.
$ sudo cp cuda/lib64/* ${CUDA_HOME}/lib64/.
Sie können es mit apt-get installieren.
$ sudo apt-get install libcupti-dev
Dieses Mal bekam ich jedoch den Fehler "*** ist kein symbolischer Link", als ich ihn ausführte, also löste ich ihn wie folgt. (Referenz: 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 Wenden Sie "GPU-Einstellungen optimieren (nur P2-Instanzen)" unter Bezugnahme auf an.
$ sudo nvidia-smi -pm 1
$ sudo nvidia-smi --auto-boost-default=0
$ sudo nvidia-smi -ac 2505,875
Erstellen Sie eine Umgebung für pyenv + miniconda unter Bezugnahme auf den Artikel hier. ("Es gibt tatsächlich ein Problem mit Anakonda allein.")
pyenv https://github.com/pyenv/pyenv#installation
git klone und setze `~ / .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 Installieren Sie die neueste Miniconda (hier Miniconda 3-4.3.11) mit pyenv.
$ pyenv install -l | grep miniconda
...
(Kürzung)
...
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 Erstellen Sie eine Anaconda-Umgebung mit conda und installieren Sie 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 Nehmen Sie Einstellungen vor, um eine Verbindung zum Jupyter-Notebook herzustellen, das auf EC2 von einem lokalen PC aus gestartet wurde.
(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()
Geben Sie die Vorlage der Einstellungsdatei aus
(tensorflow)$ jupyter notebook --generate-config
Fügen Sie die folgenden Einstellungen hinzu
:~/.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
Wenn Sie mit dem Browser Ihres lokalen PCs auf `` `https: //