PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : openmpi - fragen wegen mpicc - compiler



nomad
17-07-2009, 12:02
hi
os: linux-suse 10.3. 64-bit, quad
hab mir heute das openmpi-packet runtergeladen und installiert
gem. install und der homepage der univerity of cambridge.
hat nach meinen dafuerhalten auch alles gut geklappt. :-)

schlussendlich unter /root/MPI/bin
die erzeugten compiler (so wies cambridge erkleart)
also fuer c++ = mpic++ oder fuer c = mpicc
die homepage hat auch ein kleines mpi-testprog.(mpi1.cpp)

gemaes den angaben sollte man wiefolgt compilieren:
#/root/MPI/bin mpic++ -o mpi1 mpi1.cpp

jetzt kommt die frage: ergebnis: # mpic++ command not found
das eigentuemliche ist, dass der compiler also mpic++ gemass Konqueror
-> verknuepfung mit opal_wrapper (ausfuehrbare datei)
da dies meine 1. schritte in openmpi sind, bin ich jetzt ratlos
um hinweise und tips waer ich froh
gruss nomad

jeebee
18-07-2009, 10:59
versuchs mal im Verzeichnis wo du die Datei mpic++ hast mit
./mpic++ -o mpi1 mpi1.cpp

hth jeebee

PS: verwende doch für Konsolen Ein/Ausgaben die [code] tags.

nomad
19-07-2009, 07:10
hi jeebee
vielen dank fuer deine antwort:
ES FUNZZT.
compile ok
aber run: mit: ./mpi1
Fehlermeldung:


~/MPI/bin # ./mpi1
./mpi1: error while loading shared libraries: libmpi_cxx.so.0: cannot open shared object file: No such file or directory
linux-753o:~/MPI/bin #

da ist noch irgendwo der fehler drinn
was koennte ich da machen?
um hinweise waer ich froh
gruss nomad

jeebee
19-07-2009, 09:40
Hast du eine Datei libmpi_cxx.so.0 irgendwo im MPI-Verzeichnis? Wenn ja, versuch mal folgendes:
LD_LIBRARY_PATH=/pfad/zum/verzeichnis/ ./mpi1

kater
19-07-2009, 11:08
Also ich kenne die Anleitung nicht nach der du den mp Compiler installiert hast, aber da lief doch was falsch. Normal musst du den Compiler nicht mit "./" aufrufen.
Suse liefert doch bestimmt fertige Pakete zum installieren. Zumindest unter debian war es so. Ich hab einfach nur libopenmpi-dev und openmpi-bin installiert und dann lief es.

nomad
19-07-2009, 13:57
hi
@ jeebee:
ich versuchs mal
vielen dank

@kater:
ich hab suse 10.3-64bit
da ist vermutlich etwas schief gegangen.
also:
installiert mit suse:


openmpi-1.2.2-19 - A powerful implementaion of MPI

/etc/openmpi-default-hostfile
/etc/openmpi-mca-params.conf
/etc/openmpi-totalview.tcl
/usr/lib64/mpi/gcc/openmpi
/usr/lib64/mpi/gcc/openmpi/bin
/usr/lib64/mpi/gcc/openmpi/bin/mpiCC
/usr/lib64/mpi/gcc/openmpi/bin/mpic++
/usr/lib64/mpi/gcc/openmpi/bin/mpicc
/usr/lib64/mpi/gcc/openmpi/bin/mpicxx
/usr/lib64/mpi/gcc/openmpi/bin/mpiexec
/usr/lib64/mpi/gcc/openmpi/bin/mpif77
/usr/lib64/mpi/gcc/openmpi/bin/mpif90
/usr/lib64/mpi/gcc/openmpi/bin/mpirun
/usr/lib64/mpi/gcc/openmpi/bin/mpivars.csh
/usr/lib64/mpi/gcc/openmpi/bin/mpivars.sh
/usr/lib64/mpi/gcc/openmpi/bin/ompi_info
/usr/lib64/mpi/gcc/openmpi/bin/opal_wrapper
/usr/lib64/mpi/gcc/openmpi/bin/opalc++
/usr/lib64/mpi/gcc/openmpi/bin/opalcc
/usr/lib64/mpi/gcc/openmpi/bin/ortec++
/usr/lib64/mpi/gcc/openmpi/bin/ortecc
/usr/lib64/mpi/gcc/openmpi/bin/orted
/usr/lib64/mpi/gcc/openmpi/bin/orterun
/usr/lib64/mpi/gcc/openmpi/include
/usr/lib64/mpi/gcc/openmpi/lib64
/usr/lib64/mpi/gcc/openmpi/lib64/libmca_common_sm.so.0
/usr/lib64/mpi/gcc/openmpi/lib64/libmca_common_sm.so.0.0.0
/usr/lib64/mpi/gcc/openmpi/lib64/libmpi.so.0
/usr/lib64/mpi/gcc/openmpi/lib64/libmpi.so.0.0.0
/usr/lib64/mpi/gcc/openmpi/lib64/libmpi_cxx.so.0
/usr/lib64/mpi/gcc/openmpi/lib64/libmpi_cxx.so.0.0.0
/usr/lib64/mpi/gcc/openmpi/lib64/libmpi_f77.so.0
/usr/lib64/mpi/gcc/openmpi/lib64/libmpi_f77.so.0.0.0
/usr/lib64/mpi/gcc/openmpi/lib64/libmpi_f90.so.0
/usr/lib64/mpi/gcc/openmpi/lib64/libmpi_f90.so.0.0.0
/usr/lib64/mpi/gcc/openmpi/lib64/libopen-pal.so.0
/usr/lib64/mpi/gcc/openmpi/lib64/libopen-pal.so.0.0.0
/usr/lib64/mpi/gcc/openmpi/lib64/libopen-rte.so.0
/usr/lib64/mpi/gcc/openmpi/lib64/libopen-rte.so.0.0.0
/usr/lib64/mpi/gcc/openmpi/lib64/mpi.mod
/usr/lib64/mpi/gcc/openmpi/share
/usr/lib64/mpi/gcc/openmpi/share/man
/usr/lib64/mpi/gcc/openmpi/share/man/man1
/usr/lib64/mpi/gcc/openmpi/share/man/man1/mpiCC.1
/usr/lib64/mpi/gcc/openmpi/share/man/man1/mpic++.1
/usr/lib64/mpi/gcc/openmpi/share/man/man1/mpicc.1
/usr/lib64/mpi/gcc/openmpi/share/man/man1/mpicxx.1
/usr/lib64/mpi/gcc/openmpi/share/man/man1/mpiexec.1
/usr/lib64/mpi/gcc/openmpi/share/man/man1/mpif77.1
/usr/lib64/mpi/gcc/openmpi/share/man/man1/mpif90.1
/usr/lib64/mpi/gcc/openmpi/share/man/man1/mpirun.1
/usr/lib64/mpi/gcc/openmpi/share/man/man1/opalc++.1
/usr/lib64/mpi/gcc/openmpi/share/man/man1/opalcc.1
/usr/lib64/mpi/gcc/openmpi/share/man/man1/ortec++.1
/usr/lib64/mpi/gcc/openmpi/share/man/man1/ortecc.1
/usr/lib64/mpi/gcc/openmpi/share/man/man1/orterun.1
/usr/lib64/mpi/gcc/openmpi/share/man/man3
/usr/lib64/mpi/gcc/openmpi/share/openmpi
/usr/lib64/mpi/gcc/openmpi/share/openmpi/doc
/usr/lib64/mpi/gcc/openmpi/share/openmpi/doc/ptmalloc2-COPYRIGHT
/usr/lib64/mpi/gcc/openmpi/share/openmpi/help-mca-base.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/help-mca-bml-r2.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/help-mca-coll-base.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/help-mca-param.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/help-mpi-api.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/help-mpi-btl-base.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/help-mpi-btl-openib.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/help-mpi-runtime.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/help-odls-default.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/help-ompi_info.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/help-opal-runtime.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/help-opal-wrapper.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/help-orte-rmaps-base.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/help-orte-rmaps-rr.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/help-orte-runtime.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/help-orted.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/help-orterun.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/help-pls-base.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/help-pls-gridengine.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/help-pls-rsh.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/help-pls-slurm.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/help-ras-gridengine.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/help-ras-slurm.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/help-rds-hostfile.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/help-rmgr-base.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/mca-btl-openib-hca-params.ini
/usr/lib64/mpi/gcc/openmpi/share/openmpi/mpiCC-wrapper-data.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/mpic++-wrapper-data.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/mpicc-wrapper-data.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/mpicxx-wrapper-data.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/mpif77-wrapper-data.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/mpif90-wrapper-data.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/opalc++-wrapper-data.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/opalcc-wrapper-data.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/ortec++-wrapper-data.txt
/usr/lib64/mpi/gcc/openmpi/share/openmpi/ortecc-wrapper-data.txt
96 files total


ich war damals glaub ich nicht ganz bei sinnen
- ich hab dann den ganzen quark (aus dem netz(
- einmal unter /home/ installiert
- da in diesem fall kein /bin/ folder mit den compilern da war
- nochmals unter /root/ installiert da gibt ein bin-folder
hhmm
ich hab also 3 packete....
schande ueber mein haupt .-(

da ja jeebee mir im vorletzten thread
mir erklaert hat, wie man dass compiliert
koennte ich's ja mal unter:


/usr/lib64/mpi/gcc/openmpi/bin
/usr/lib64/mpi/gcc/openmpi/bin/mpiCC

mit: mpic++ -o mpi1 mpi1.cpp

versuchen


entschuldigt bitte meine bloedheit
gruss nomad

nomad
19-07-2009, 14:10
hi habs ausprobiert
1) into /usr/lib64/mpi/gcc/openmpi/bin
2) ./mpic++ -o mpi1 mpi1.cpp -> ohne "./" gehts nicht
3) run: fehler wie beschrieben
haa.
werd dann mal den ratschlag von jeebee befolgen
also: LD_LIBRARY_PATH=/pfad/zum/verzeichnis/ ./mpi1
== LD_LIBRARY_PATH=/usr/lib64/mpi/gcc/openmpi/bin/
und dan ldconfig laufen lassen
richtig?
gruss nomad

jeebee
19-07-2009, 15:42
eher:
LD_LIBRARY_PATH=/usr/lib64/mpi/gcc/openmpi/lib64/ ./mpi1
oder einfach mal PATH-Variablen global anpassen.

nomad
20-07-2009, 08:04
hi jeebee
danke fuer deine antwort werds jetzt machen
gruss nomad

nomad
20-07-2009, 08:26
hi jeebee

na da ist vermutlich hopfen und malz verloren.
ergebnisse:


linux-753o:/usr/lib64/mpi/gcc/openmpi/bin # LD_LIBRARY_PATH=/usr/lib64/mpi/gcc/openmpi/lib64/ ./mpi1
libibverbs: Fatal: couldn't read uverbs ABI version.
--------------------------------------------------------------------------
[0,0,0]: OpenIB on host linux-753o was unable to find any HCAs.
Another transport will be used instead, although this may result in
lower performance.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
[0,0,0]: uDAPL on host linux-753o was unable to find any NICs.
Another transport will be used instead, although this may result in
lower performance.
--------------------------------------------------------------------------
Process 0 on linux-753o out of 1
linux-753o:/usr/lib64/mpi/gcc/openmpi/bin #


dann


-> then "ldconfig"
-> then "compile" == ok
-> then "run"
--> linux-753o:/usr/lib64/mpi/gcc/openmpi/bin # ./mpi1
./mpi1: error while loading shared libraries: libmpi_cxx.so.0: cannot open shared object file: No such file or directory
linux-753o:/usr/lib64/mpi/gcc/openmpi/bin #


das waers dann schon....
da ich auch ein /mpi/ folder unter root habe.
derselbe versuch:


linux-753o:~ # cd /root/MPI/bin
linux-753o:~/MPI/bin # LD_LIBRARY_PATH=/root/MPI/lib/ ./mpi1
Process 0 on linux-753o out of 1
linux-753o:~/MPI/bin # ./mpic++ -o mpi1 mpi1.cpp
linux-753o:~/MPI/bin # ./mpi1
./mpi1: error while loading shared libraries: libmpi_cxx.so.0: cannot open shared object file: No such file or directory
linux-753o:~/MPI/bin #


da werds vermutlich bleiben lassen,
ich muss ja erstmal mit openmp in die gaenge kommen.
dass funzzt
@ jeebee hast du erfahrung mit openmp?

gruss nomad