[PYTHON] Erstellen einer Umgebung zum Ausführen von ChainerMN auf einer AWS-GPU-Instanz

Ich habe mich für ChainerMN entschieden und eine Umgebung auf AWS erstellt, damit ich die Arbeit aufzeichnen kann.

AWS p2-Instanzen sind preisgünstig, sodass Sie Ihre Umgebung schnell fertigstellen möchten.

Verfassung

Referenzseite

Arbeit

Vorbereitung

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install linux-generic
$ sudo apt-get install build-essential
$ vi .bashrc #Die folgenden zwei Zeilen wurden hinzugefügt
export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"
export CPATH="/usr/local/include"

NVIDIA-Treiber und CUDA installieren

Gehen Sie zu CUDA Toolkit Download, wählen Sie Linux, x86_64, Ubuntu, 16.04, deb [network] aus, rufen Sie den Download-Link auf und gehen Sie wie folgt vor: machen.

$ wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
$ sudo dpkg -i cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
$ sudo apt-get update
$ sudo apt-get install cuda nvidia-367
$ sudo reboot
$ sudo apt-get autoremove
$ rm cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
$ vi .bashrc #Die folgenden 4 Zeilen wurden hinzugefügt
export CUDA_HOME="/usr/local/cuda-8.0"
export PATH="$CUDA_HOME/bin:$PATH"
export LD_LIBRARY_PATH="$CUDA_HOME/lib64:$LD_LIBRARY_PATH"
export CPATH="$CUDA_HOME/include:$CPATH"

Nochmal anmelden.

CuDNN installieren 5.1

Laden Sie cuDNN v5.1 (20. Januar 2017) für CUDA 8.0, cuDNN v5.1 Library für Linux unter cuDNN Download und AWS herunter Legen Sie es auf.

$ tar zxvf cudnn-8.0-linux-x64-v5.1.tgz
$ sudo cp -a cuda/lib64/* $CUDA_HOME/lib64/
$ sudo cp -a cuda/include/* $CUDA_HOME/include/
$ sudo ldconfig
$ rm -rf cuda cudnn-8.0-linux-x64-v5.1.tgz

Fügen Sie den symbolischen Link erneut ein (zusätzlicher Hinweis 2017-06-08)

In der Arbeit des vorherigen Abschnitts

$ sudo ldconfig

Als ich es tat

/sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 is not a symbolic link
/sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 is not a symbolic link

Ich sollte es bekommen, also habe ich den symbolischen Link in der Arbeit unten wieder eingefügt.

$ sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org
$ sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org
$ sudo unlink /usr/lib/nvidia-375/libEGL.so
$ sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.66 /usr/lib/nvidia-375/libEGL.so
$ sudo unlink /usr/lib32/nvidia-375/libEGL.so
$ sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.66 /usr/lib32/nvidia-375/libEGL.so
$ sudo ldconfig

Ich weiß nicht, ob dies der Fall ist, aber ich kann es vorerst verwenden.

Stoppen Sie LightDM

$ sudo vi /etc/default/grub #Bearbeiten Sie Zeile 12 für:
GRUB_CMDLINE_LINUX="systemd.unit=multi-user.target"
$ sudo update-grub
$ sudo reboot

Installieren Sie Open MPI

Rufen Sie den Open MPI-Download-Link von Open MPI Open Source High Performance Computing auf und gehen Sie wie folgt vor:

$ wget https://www.open-mpi.org/software/ompi/v2.1/downloads/openmpi-2.1.1.tar.bz2
$ tar jxvf openmpi-2.1.1.tar.bz2
$ cd openmpi-2.1.1
$ ./configure --with-cuda
$ make -j4
$ sudo make install
$ cd
$ rm -rf openmpi-2.1.1 openmpi-2.1.1.tar.bz2

NVIDIA NCCL installieren

$ git clone https://github.com/NVIDIA/nccl.git
$ cd nccl
$ make CUDA_HOME=/usr/local/cuda-8.0
$ sudo mkdir /usr/local/nccl
$ sudo make PREFIX=/usr/local/nccl install
$ cd
$ rm -rf nccl
$ vi .bashrc #Die folgenden 4 Zeilen wurden hinzugefügt
export NCCL_ROOT="/usr/local/nccl"
export CPATH="$NCCL_ROOT/include:$CPATH"
export LD_LIBRARY_PATH="$NCCL_ROOT/lib/:$LD_LIBRARY_PATH"
export LIBRARY_PATH="$NCCL_ROOT/lib/:$LIBRARY_PATH"

Nochmal anmelden.

Installation von Chainer, ChainerMN usw.

$ sudo apt-get install python3-pip
$ sudo pip3 install --upgrade pip
$ pip3 install --user pillow h5py chainer\==1.24.0
$ pip3 install --user cython
$ pip3 install --user chainermn

Wo es stecken bleibt

Installation des NVIDIA-Treibers

Die ChainerMN-Installation funktioniert nicht

Gemäß der Referenz Inoffizielle Tipps für Personen, die Chainer 1.5 nicht installieren können müssen LD_LIBRARY_PATH und CPATH vor der Installation von Cython festgelegt werden. .. Beachten Sie auch, dass die Umgebungsvariablen nicht von root geerbt werden, wenn Sie mit sudo pipen. Lass es uns mit --user machen.

Recommended Posts

Erstellen einer Umgebung zum Ausführen von ChainerMN auf einer AWS-GPU-Instanz
Führen Sie TensorFlow auf einer GPU-Instanz in AWS aus
Erstellen einer Umgebung zum Ausführen von Python-Programmen unter AWS EC2
Versuchen Sie Tensorflow mit einer GPU-Instanz unter AWS
Erstellen Sie eine AWS-GPU-Instanz, um StyleNet zu trainieren
Version vom Juni 2017 zum Erstellen einer Tensorflow / Keras-Umgebung auf einer GPU-Instanz von AWS
# 2 Erstellen Sie eine Python-Umgebung mit einer EC2-Instanz von AWS (ubuntu18.04).
Erstellen einer TensorFlow-Umgebung, die GPUs unter Windows 10 verwendet
Versuchen Sie, Schedule auszuführen, um Instanzen in AWS Lambda (Python) zu starten und zu stoppen.
[Einführung in AWS] Memorandum zum Erstellen eines Webservers auf AWS
Erstellen einer Python-Umgebung auf einem Mac
Erstellen einer Python-Umgebung unter Ubuntu
Verwenden Sie jupyter für eine GPU-Instanz in AWS
# 3 Erstellen Sie eine Python-Umgebung (Django) mit einer EC2-Instanz (ubuntu18.04) von AWS part2
Erstellen Sie eine AWS Cloud9-Entwicklungsumgebung auf einer Amazon EC2-Instanz
Alles vom Erstellen einer Python-Umgebung bis zur Ausführung unter Windows
Erstellen einer Umgebung für "Tello_Video" mit Raspbian
Erstellen einer Umgebung für "Tello_Video" unter Windows
Vorgehensweise zum Erstellen einer Kube-Umgebung unter Amazon Linux2 (aws) ~ (mit Bonus)
Führen Sie regelmäßig Python-Programme auf AWS Lambda aus
Erstellen Sie mit pulumi eine WardPress-Umgebung auf AWS
Erstellen einer Umgebung für matplotlib + cartopy auf einem Mac
Einführung in Python "Re" 1 Erstellen einer Ausführungsumgebung
Eine Geschichte zum Erstellen einer IDE-Umgebung mit WinPython unter einem alten Windows-Betriebssystem.
So führen Sie eine Django-Anwendung auf einem Docker-Container aus (Entwicklungs- und Produktionsumgebung)
So führen Sie AutoGluon in einer Google Colab-GPU-Umgebung aus
Bereitstellungsverfahren in den Umgebungseinstellungen von AWS (2) Server (EC2-Instanz)
Erstellen einer Umgebung für "Tello_Video" unter Mac OS X.
So erstellen Sie eine Django (Python) -Umgebung auf Docker
Vorgehensweise zum Erstellen einer CDK-Umgebung unter Windows (Python)
So stellen Sie eine Go-Anwendung auf einer ECS-Instanz bereit
Führen Sie den Tensorflow der GPU-Version vor Ort in AWS EC2 aus
So führen Sie Django unter IIS auf einem Windows-Server aus
So erstellen Sie eine Python-Umgebung unter Amazon Linux 2
Erstellen einer Umgebung für die Verwendung von CaboCha mit Google Colaboratory
Führen Sie das Programm aus, ohne eine Python-Umgebung zu erstellen! !! (Erste Schritte mit Google Colaboratory)
Gepostet als Anhang zu Slack auf AWS Lambda (Python)
Ein Hinweis zur einfachen Vorbereitung einer Linux-Übungsumgebung
So führen Sie ein geschultes Transformatormodell lokal auf CloudTPU aus
So erstellen Sie eine neue virtuelle Python-Umgebung unter Ubuntu
Fügen Sie eine Erweiterung hinzu, um eine komfortablere Jupyter-Umgebung zu erstellen
Erstellen einer Jupyter Lab-Entwicklungsumgebung auf WSL2 mit Anaconda3
Erstellen einer Python-Umgebung auf einem Mac bis zur Verwendung von Jupyter Lab
Zusammenfassung vom Erstellen von Python 3.4. * Von der Quelle zum Erstellen einer wissenschaftlichen Computerumgebung
Einführung in Kaggles Docker Image unter Windows zum Erstellen einer Umgebung
Hinweise zum Laden einer virtuellen Umgebung mit PyCharm
Erstellen einer Keras-Umgebung auf einer AWS E2 G2-Instanz Februar 2017
Erstellen einer virtuellen Python-Umgebung
Führen Sie YOLO v3 unter AWS v2 aus
Erstellen einer virtuellen Python-Umgebung
Führen Sie YOLO v3 unter AWS aus
Erstellen einer Python-Entwicklungsumgebung unter Windows - Von der Installation von Anaconda bis zur Verknüpfung von Atom und Jupyter Notebook -
Ich habe versucht, eine Serverumgebung zu erstellen, die unter Windows 10 ausgeführt wird
Ich habe versucht, eine Umgebung von MkDocs unter Amazon Linux zu erstellen
Erstellen Sie eine Chainer-Umgebung mit CUDA und cuDNN auf einer p2-Instanz
Ein Spiel für ein Abenteuer im interaktiven Python-Modus
xgboost (Python) in einer von AWS Lambda erstellten EC2 Spot-Instanzumgebung
Führen Sie eine Java-App aus, die sich in AWS EC2 als Daemon befindet
Vom Aufbau einer Python-Umgebung für unerfahrene Personen bis zur Hello-Welt