Puncte:2

Cum modific variabilele de mediu pentru OpenMPI?

drapel cn

Am Ubuntu 20.04 instalat și trebuie să instalez OpenMPI 3.1.6 cu gcc 8.4.0.

Am descărcat tar ball din OpenMPI și l-am instalat cu următoarea comandă

tar-xzf openmpi-3.1.6.tar.gz && cd openmpi-3.1.6
PARGS="env CC=/usr/bin/gcc FC=/usr/bin/gfortran CXX=/usr/bin/g++"
ARGS=" --enable-shared --enable-mpi-fortran=usempi"
ARGS+=" --enable-mpi-thread-multiple"
ARGS+=" --prefix=/openmpi/3.1.6/gcc/8.4.0"
mkdir -p build && cd build
$PARGS ../configure $ARGS
$PARGS make -j8 && make install

S-a instalat foarte bine, fără probleme. Dar când încerc

mpirun --versiune

Primesc următoarea eroare

Comanda „mpirun” nu a fost găsită, dar poate fi instalată cu:

și apoi oferă diverse opțiuni folosind sudo apt-get (așa l-am instalat inițial, dar nu acceptă 3.1.6).

Am presupus că are de-a face cu variabilele de mediu, că Linux pur și simplu nu poate găsi software-ul. Așa că am căutat și am găsit că în FAQ OpenMPI, se menționează următoarele:

„presupunând că ați ajustat deja variabilele de mediu PATH și/sau LD_LIBRARY_PATH la noua locație în care se află acum Open MPI”

...dar atunci nu spune cum se face asta. Am încercat să caut, dar vorbește despre tot felul de ~/.FILE diferite (unde fișierul este bash sau lib64 sau lib32 sau alte fișiere).

Ce trebuie să schimb de fapt în variabilele de mediu și în ce fișier? Folosesc terminalul Ubuntu pentru aproape orice.

============================================= Mulțumesc, ubfan1! A trebuit să adaug următoarele la /.profile:

# setați calea OpenMPI
export OMPI=/openmpi/3.1.6/gcc/8.4.0
export PATH=$PATH:$OMPI/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OMPI/lib

Și acum funcționează! Sistemul meu poate găsi mpirun și versiunea este 3.1.6!

N0rbert avatar
drapel zw
Ce a fost în neregulă cu OpenMPI 4.0.3 din [arhivele oficiale](https://packages.ubuntu.com/focal/libopenmpi-dev)? Care este ideea ta finală?
sfwalter avatar
drapel cn
Software-ul pe care îl folosesc nu rulează cu OpenMPI mai nou decât 3.1.6. Este un cod de cercetare, așa că nu este actualizat când se actualizează alte pachete.
Puncte:1
drapel cc

Căutați în .profilul directorului dvs. principal pentru a vedea cum să adăugați lucruri la PATH.
Unde ați instalat openmpi probabil că are subdirectoare numite bin, lib64 etc. De exemplu, $HOME/openMPI este locul în care ați selectat să-l instalați, așa că adăugați $HOME/openMPI/bin la PATH-ul dvs. la sfârșitul .profilului: export PATH="$HOME/openMPI/bin:$PATH" Apoi adăugați linia:" exportați LD_LIBRARY_PATH=$HOME/openMPI/lib64 (presupunând că nu aveți nicio LD_LIBRARY_PATH.) Acum că aveți o locație...openMPI/bin la începutul PATH, puteți suprascrie comenzile standard ale sistemului punând altele noi acolo, cum ar fi un link numit gcc la versiunea gcc-8.4 (care este disponibilă în 20.04). Dacă aveți nevoie de o versiune de gcc care nu este disponibilă în pachetele standard, puteți pur și simplu să puneți întregul executabil (de oriunde îl obțineți) în locul linkului. Poate preferați să nu suprascrieți gcc de fiecare dată când vă conectați. În acest caz, configurați un script care să ruleze în loc să introduceți modificările în profilul dvs. .profil.

Problemele obișnuite:

  1. Login-ul dvs. nu creează cu adevărat un shell de conectare, așa că .profile nu este executat (De obicei nu este o problemă Ubuntu, dar toate sugestiile pentru introducerea modurilor PATH în .bashrc provin din această problemă.
  2. Ați creat un .bash_profile care înlocuiește .profile -- ar trebui să știți dacă ați făcut asta și să modificați .bash_profile în schimb.
  3. Sugestiile de modificare a /etc/alternatives pentru a schimba sistemul gcc implicit, practic, vă vor bloca sistemul data viitoare când actualizați și aveți nevoie de compilatorul standard, lansat și testat.

Adăugarea căii dvs. probabil ar trebui să înceapă cu un /, deci /home/openmpi/... mai degrabă decât doar openmpi/... Totuși, uitați-vă în directorul openmpi și vedeți dacă există un director bin, acesta este cel pe care îl aștept dacă există de fapt executabile openmpi de rulat. În acesta puteți adăuga linkul gcc la nivelul inferior gcc...bin doar pentru a menține toate programele openmpi împreună. Rețineți că gcc 8.4 este disponibil ca pachet standard în Ubuntu 20.04, dar dacă instalarea openmpi are unul, este în regulă să îl utilizați, pur și simplu nu va primi actualizări, dacă există.

sfwalter avatar
drapel cn
Vă mulțumesc mult pentru asta. Ceea ce nu sunt sigur despre...profilul meu .are lucruri precum următoarele: # setați PATH astfel încât să includă coșul privat al utilizatorului, dacă acesta există if [ -d "$HOME/bin" ] ; atunci PATH="$HOME/bin:$PATH" fi Asa as adauga # setați PATH pentru OpenMPI (rețineți că nu este în $HOME/openmpi, mai degrabă un director de mai sus... este o problemă? if [ -d "openmpi/3.1.6/gcc/8.4.0/bin" ] ; atunci PATH="openmpi/3.1.6/gcc/8.4.0/bin:$PATH" fi Arată corect?
sfwalter avatar
drapel cn
A mers! # setați calea OpenMPI export OMPI=/openmpi/3.1.6/gcc/8.4.0 export PATH=$PATH:$OMPI/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OMPI/lib
drapel cc
Este mai ușor să adăugați postarea inițială și să o formatați ca cod.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.