Installation d'OpenMPI Du téléchargement au passage

Tout d'abord, installons gcc, gfortran et make. Voici comment vérifier s'il est déjà installé. (... est omis)

gcc


$ gcc --version
gcc (Ubuntu 9.3.0-10ubuntu2) 9.3.0
....

make


$ make --version
GNU Make 4.2.1
....

gfortran


$ gfortran -v
Using built-in specs.
....

Si les versions gcc, gfortran et make sortent comme ceci, elles sont installées pour le moment. S'il n'est pas installé, procédez comme suit, buyk-essential installera à la fois gcc et make. Installons également gfortran (pour une raison quelconque, gfotran n'était pas inclus en standard dans Ubuntu 20)

make&gcc


$ sudo apt install build-essential
$ sudo apt-get install gfortran

Lorsque l'installation est terminée, saisissez le gcc ci-dessus et effectuez à nouveau des commandes et vérifiez si un écran similaire apparaît.

Ensuite, téléchargez l'unité principale openMPI. https://www.open-mpi.org/software/ompi/v4.0/ (Au moment de la rédaction de cet article, j'ai téléchargé openmpi-4.0.4.tar.gz. Il n'y a aucun doute si je télécharge ~ .tar.gz) Télécharger l'emplacement de stockage /home/Qiita/Downloads/openmpi-4.0.4.tar.gz ça ira. (L'utilisateur est "Qiita")

Entrez la commande comme suit pour aller à la racine de l'openMPI téléchargé et décompressez-le. Si vous ne spécifiez pas l'emplacement de décompression, il se trouvera dans le même répertoire. (Après cela, vous pouvez spécifier la destination d'installation d'openMPI, afin de pouvoir le décompresser n'importe où.)

cd&tar


$ cd /home/Qiita/Downloads
$ tar -xvf openmpi-4.0.4.tar.gz

Ensuite, /home/Qiita/Downloads/openmpi-4.0.4 sera nouvellement créé dans / home / Qiita / Downloads. Ensuite, installons en fait openMPI. Installez openMPI dans / opt / openMPI. Créez un répertoire appelé / opt / openMPI et spécifiez-le pour l'installation.

cd&tar


$ sudo mkdir /opt/openMPI   #1
$ ./configure --prefix=/opt/openMPI CC=gcc CXX=g++ F77=gfortran FC=gfortran #2
$ make #3
$ sudo make install #4

Créez le répertoire ci-dessus avec # 1 Compilez le programme d'installation avec # 2. C'est comme créer un leader pour instruire l'installation à l'avance. La commande --prefix = / opt / openMPI dit à ce chef de dire à ses subordonnés d'installer dans / opt / openMPI pour l'installation réelle. Dans le n ° 3, le chef donne en fait des instructions à ses subordonnés.

** De plus, si vous exécutez # 2, une longue phrase apparaîtra et cela prendra beaucoup de temps. Idem pour # 3 **

Passez enfin le chemin. Dites-moi où vous avez installé openMPI sur votre ordinateur. Écrivez-les dans un fichier appelé .bashrc qui décrit les paramètres par défaut du terminal. De cette façon, il chargera toujours ce .bashrc chaque fois que vous démarrez le terminal, alors n'oubliez pas où votre ordinateur a installé openMPI.

PATH


# sudo gedit ~/.bashrc #1
------Ce qui suit est.Ecrire à bashrc-------
PATH=/opt/openMPI/bin:$PATH
LD_LIBRARY_PATH=/opt/openMPI/lib:$LD_LIBRARY_PATH
MANPATH=/opt/openMPI/share/man:$MANPATH
export PATH LD_LIBRARY_PATH MANPATH
---------------------------------
#sudo source ~/.bashrc #2

Je ne suis pas sûr du PATH, mais si vous l'avez installé selon la procédure ci-dessus, cela devrait être correct ... (# 1 ouvrira .bashrc dans un éditeur appelé gedit. Ensuite, copions et collons le contenu ci-dessus) Après l'écriture, enregistrez, fermez gedit et appuyez sur # 2 pour refléter le contenu de .bashrc dans le terminal.

Une fois que vous avez terminé, testons. Le fichier de compilation de test provient du site suivant. http://discexuno.wp.xdomain.jp/hpc/setup_mpi/

sample.cpp


$ cd #1
$ touch sample.cpp #2
$ gedit sample.cpp

Revenez à votre répertoire personnel (/ home / Qiita) avec # 1 Dans # 2, créez un nouveau fichier avec la commande tactile. Précisons le nom dans "sample.cpp". Ouvrez sample.cpp en utilisant gedit dans # 3, copiez et enregistrez le contenu suivant.

sample.cpp


//sample.cpp
#include "mpi.h"
#include <stdio.h>

int
main(int argc, char *argv[])
{
    int rank, size;
    MPI_Init(&argc, &argv);

    MPI_Comm_rank(MPI_COMM_WORLD, &rank);
    MPI_Comm_size(MPI_COMM_WORLD, &size);

    printf("Hello, World.  I am %d of %d\n", rank, size);

    MPI_Finalize();
    return 0;
}

Enfin, tapez la commande suivante, et si le dernier "Hello world ...." est affiché, openMPI fonctionne normalement.

test


$ mpic++ sample.cpp #1
$ mpirun -np 2 a.out #2
Hello, World.  I am 0 of 2
Hello, World.  I am 1 of 2

Dans # 1, sample.cpp est compilé avec c ++ et a.out est généré. (Je ne comprends pas la signification du programme dans cet exemple.cpp. C'est une partie très rudimentaire, et je n'ai pas assez étudié ...) Dans # 2, "-np 2" est utilisé pour spécifier 2 cœurs du CPU et openMPI est fait pour exécuter a.out. À partir du résultat, vous pouvez voir que le mot Hello world a été écrit en utilisant 2 cœurs. Je veux dire ... D'après le résultat, on a l'impression que deux personnes ont écrit Hello world ...

Ceci termine l'installation d'openMPI. Très rudimentaire, mais un peu difficile pour les débutants qui pleurent Merci pour la lecture.

Recommended Posts

Installation d'OpenMPI Du téléchargement au passage
De l'installation d'Elasticsearch à la saisie des données
[Note] [PyTorch] De l'installation à la simplicité d'utilisation
Tutoriel Flask (de l'installation à Hello World)
Introduction à Scapy ① (De l'installation à l'exécution de Scapy)
[Procédure d'installation Ansible] De l'installation à l'exécution du playbook
De l'installation de ROS pour Windows au contrôle de fonctionnement
Changements de Python 3.0 à Python 3.5
Transition de WSL1 à WSL2
Configuration de RaspberryPi3 (STRETCH) depuis l'installation du système d'exploitation vers Hello World
Comment télécharger des fichiers depuis Selenium of Python dans Chrome
Construction de l'environnement de développement Python 2020 [De l'installation de Python à l'introduction à la poésie]
De l'édition à l'exécution
[CentOS 7.7] De l'installation de l'environnement de bureau à la connexion au bureau à distance possible (à partir de l'installation minimale)
Explication de l'installation de Sphinx à l'utilisation d'un thème externe (Bootswatch)
Tutoriel Rabbit MQ (1) - De l'installation à Hello World (traduction du site officiel)
Publier de Python vers Slack
Flirter de PHP à Python
Portage d'Argparse à Hydra
Transition de Chainer v1 à Chainer v2
La route pour télécharger Matplotlib
Anaconda mis à jour de 4.2.0 à 4.3.0 (python3.5 mis à jour vers python3.6)
Migré de Flask-RESTPlus vers Flask-RESTX
Paramètres initiaux de l'installation de Kubuntu
Mettre à jour python-social-auth de 0.1.x à 0.2.x
Migrer de requirements.txt vers pipenv
Passer de python2.7 à python3.6 (centos7)
Connectez-vous à sqlite depuis python
Télécharger des vidéos de YouTube (youtube-dl)
Premiers pas avec Poetry De l'installation à l'exécution et à la gestion des versions
Création d'une classe pour télécharger et analyser XBRL à partir d'UFO Catcher
[EC2] Comment installer et télécharger chromedriver à partir de la ligne de commande
De l'installation ubuntu à l'exécution de kinect avec docker et ros (présentation)