|
|
|
![]() |
|
Strumenti |
![]() |
#1 | |
Senior Member
Iscritto dal: Sep 2005
Messaggi: 4337
|
[C] Problema compilazione programma MPI sotto windows...
Salve,
devo compilare un programmino che faccia uso delle librerie mpi, ma mi da' sempre questa serie di errori: Quote:
Ho provato sia con le librerie scaricate da questo sito: http://www.mcs.anl.gov/research/projects/mpich2/ Che con quelle scaricate da questo: http://www-unix.mcs.anl.gov/mpi/mpich1/mpich-nt/ Il compilatore che uso è il dev-c++, o meglio, il dev-c++ è la IDE installata, ma il compilatore lo lancio da riga di comando, ed è il gcc.exe Grazie a tutti. Ciao P.S. Dimenticavo di dire che uso windows vista 64 come OS.
__________________
I7 3930K: @ 4400 @ 1.32V, su ASUS P9X79 Deluxe - RAM: 16GB Geil 4x4GB @ 2133Mhz - Video: ATI HD6970 @ 1000 / 6000 - HD: SSD OCZ Vertex2 120gb + RAID0: 2XHitachi Deskstar T7K250 250gb SATA2 - P.S.U. Corsair TX850M - Monitor Iiyama B2712HDS LCD 27'' - Cooled by: Ybris Eclipse + Ybris ACS-G + SILENTstar HD-Quad Rev2.0 + WaterStation HomeMade: Doppio Rad triventola + Pompa Sanso PDH054
|
|
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2007
Città: Teramo
Messaggi: 392
|
ciao, uso mpi su linux ma il problema è comune alle due piattaforme. Devi passare al compilatore - L path_dei_DLL_mpi e -I path_degli_header_mpi
In sostanza è un problema di dipendenze non soddisfatte in compilazione.
__________________
Asus PRO H610M-C CSM - Intel I5 12400 - Crucial 16GB DDR5 - Samsung 960 M.2 https://www.alfredocentinaro.it |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Sep 2005
Messaggi: 4337
|
Ho provato, e purtroppo pare non funzionare neanche così...
__________________
I7 3930K: @ 4400 @ 1.32V, su ASUS P9X79 Deluxe - RAM: 16GB Geil 4x4GB @ 2133Mhz - Video: ATI HD6970 @ 1000 / 6000 - HD: SSD OCZ Vertex2 120gb + RAID0: 2XHitachi Deskstar T7K250 250gb SATA2 - P.S.U. Corsair TX850M - Monitor Iiyama B2712HDS LCD 27'' - Cooled by: Ybris Eclipse + Ybris ACS-G + SILENTstar HD-Quad Rev2.0 + WaterStation HomeMade: Doppio Rad triventola + Pompa Sanso PDH054
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Sep 2005
Messaggi: 4337
|
Up.
Nessun altro suggerimento? Ad esempio, una procedura dettagliata a partire dal compilatore e dalla versione di MPI da scaricare, fino ad arrivare alle cartelle include e lib da aggiungere, che mi assicuro il funzionamento sotto windows. Grazie ancora, ciao
__________________
I7 3930K: @ 4400 @ 1.32V, su ASUS P9X79 Deluxe - RAM: 16GB Geil 4x4GB @ 2133Mhz - Video: ATI HD6970 @ 1000 / 6000 - HD: SSD OCZ Vertex2 120gb + RAID0: 2XHitachi Deskstar T7K250 250gb SATA2 - P.S.U. Corsair TX850M - Monitor Iiyama B2712HDS LCD 27'' - Cooled by: Ybris Eclipse + Ybris ACS-G + SILENTstar HD-Quad Rev2.0 + WaterStation HomeMade: Doppio Rad triventola + Pompa Sanso PDH054
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Oltre a dirgli dove cercare header e librerie, devi anche dirgli con cosa fare il collegamento (linking).
Dai un gcc codice.c -o programma.exe -l<nomelibreria> -I<posizioneheader> -L<posizionelibrerie>.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Sep 2005
Messaggi: 4337
|
Ma dopo i parametri -L e -I il percorso delle cartelle contenenti librerie e header non devono essere separati da uno spazio? Inoltre non capisco cosa intenda per nomlibreria. A quale nome ti riferisci?
__________________
I7 3930K: @ 4400 @ 1.32V, su ASUS P9X79 Deluxe - RAM: 16GB Geil 4x4GB @ 2133Mhz - Video: ATI HD6970 @ 1000 / 6000 - HD: SSD OCZ Vertex2 120gb + RAID0: 2XHitachi Deskstar T7K250 250gb SATA2 - P.S.U. Corsair TX850M - Monitor Iiyama B2712HDS LCD 27'' - Cooled by: Ybris Eclipse + Ybris ACS-G + SILENTstar HD-Quad Rev2.0 + WaterStation HomeMade: Doppio Rad triventola + Pompa Sanso PDH054
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Sep 2005
Messaggi: 4337
|
Ho trovato uno script, mpicc.bat, che a quanto ho capito deve essere usato per compilare i software che fanno uso delle librerie mpi. Ma non ho capito come si usa. Qualcuno ne ha idea?
__________________
I7 3930K: @ 4400 @ 1.32V, su ASUS P9X79 Deluxe - RAM: 16GB Geil 4x4GB @ 2133Mhz - Video: ATI HD6970 @ 1000 / 6000 - HD: SSD OCZ Vertex2 120gb + RAID0: 2XHitachi Deskstar T7K250 250gb SATA2 - P.S.U. Corsair TX850M - Monitor Iiyama B2712HDS LCD 27'' - Cooled by: Ybris Eclipse + Ybris ACS-G + SILENTstar HD-Quad Rev2.0 + WaterStation HomeMade: Doppio Rad triventola + Pompa Sanso PDH054
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
No, non necessariamente, lo spazio non serve. Comunque se tu hai una libreria che ad esempio è SDL.dll, darai un -lSDL.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Sep 2005
Messaggi: 4337
|
Ho cancellato tutto, compilatore e librerie, e ho riprovato a rifare tutto da capo, e ora mi da' un errore diverso... simile ma diverso.
Ecco quello che ottengo: Codice:
C:\Dev-Cpp\bin>gcc.exe prova_mpi.c -o prova_mpi.exe -I ..\include -L ..\lib -I " F:\Program Files (x86)\Hewlett-Packard\HP-MPI\include" -L "f:\Program Files (x86 )\Hewlett-Packard\HP-MPI\lib" ./ccI7baaa.o(.text+0x48):prova_mpi.c: undefined reference to `_imp__MPI_Init@8' ./ccI7baaa.o(.text+0x59):prova_mpi.c: undefined reference to `_imp__hpmp_comm_wo rld' ./ccI7baaa.o(.text+0x61):prova_mpi.c: undefined reference to `_imp__MPI_Comm_ran k@8' ./ccI7baaa.o(.text+0x72):prova_mpi.c: undefined reference to `_imp__hpmp_comm_wo rld' ./ccI7baaa.o(.text+0x7a):prova_mpi.c: undefined reference to `_imp__MPI_Comm_siz e@8' ./ccI7baaa.o(.text+0xbf):prova_mpi.c: undefined reference to `_imp__hpmp_comm_wo rld' ./ccI7baaa.o(.text+0xd6):prova_mpi.c: undefined reference to `_imp__hpmp_char' ./ccI7baaa.o(.text+0xec):prova_mpi.c: undefined reference to `_imp__MPI_Send@24' ./ccI7baaa.o(.text+0x111):prova_mpi.c: undefined reference to `_imp__hpmp_comm_w orld' ./ccI7baaa.o(.text+0x128):prova_mpi.c: undefined reference to `_imp__hpmp_char' ./ccI7baaa.o(.text+0x142):prova_mpi.c: undefined reference to `_imp__MPI_Recv@28 ' ./ccI7baaa.o(.text+0x169):prova_mpi.c: undefined reference to `_imp__MPI_Finaliz e@0'
__________________
I7 3930K: @ 4400 @ 1.32V, su ASUS P9X79 Deluxe - RAM: 16GB Geil 4x4GB @ 2133Mhz - Video: ATI HD6970 @ 1000 / 6000 - HD: SSD OCZ Vertex2 120gb + RAID0: 2XHitachi Deskstar T7K250 250gb SATA2 - P.S.U. Corsair TX850M - Monitor Iiyama B2712HDS LCD 27'' - Cooled by: Ybris Eclipse + Ybris ACS-G + SILENTstar HD-Quad Rev2.0 + WaterStation HomeMade: Doppio Rad triventola + Pompa Sanso PDH054
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Sep 2005
Messaggi: 4337
|
Capito, ma ci sono una marea di dll nella cartell bin del software di sviluppo per mpi, come faccio a sapere quale è quello giusto?
__________________
I7 3930K: @ 4400 @ 1.32V, su ASUS P9X79 Deluxe - RAM: 16GB Geil 4x4GB @ 2133Mhz - Video: ATI HD6970 @ 1000 / 6000 - HD: SSD OCZ Vertex2 120gb + RAID0: 2XHitachi Deskstar T7K250 250gb SATA2 - P.S.U. Corsair TX850M - Monitor Iiyama B2712HDS LCD 27'' - Cooled by: Ybris Eclipse + Ybris ACS-G + SILENTstar HD-Quad Rev2.0 + WaterStation HomeMade: Doppio Rad triventola + Pompa Sanso PDH054
|
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
E che ne so io, avrà un minimo di documentazione questa libreria?
![]() Vedi se c'è scritto a cosa devi fare il linking, ti basterà poi aggiungere quelle librerie alla riga di comando.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6094
|
Quote:
|
|
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Sep 2005
Messaggi: 4337
|
Non sono pollo fino a questo punto
![]() E poi se non lo avessi fatto gli errori sarebbero stati molto diversi.
__________________
I7 3930K: @ 4400 @ 1.32V, su ASUS P9X79 Deluxe - RAM: 16GB Geil 4x4GB @ 2133Mhz - Video: ATI HD6970 @ 1000 / 6000 - HD: SSD OCZ Vertex2 120gb + RAID0: 2XHitachi Deskstar T7K250 250gb SATA2 - P.S.U. Corsair TX850M - Monitor Iiyama B2712HDS LCD 27'' - Cooled by: Ybris Eclipse + Ybris ACS-G + SILENTstar HD-Quad Rev2.0 + WaterStation HomeMade: Doppio Rad triventola + Pompa Sanso PDH054
|
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6094
|
|
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Sep 2005
Messaggi: 4337
|
Io non sono ancora riuscito a risolvere il problema (anche se ammetto che negli ultimi 4 giorni non ci ho più lavorato).
Qualcuno potrebbe provare a compilare questo banalissimo esempio mpi sotto windows e dirmi se a lui funziona? Codice:
#include <stdio.h> #include "mpi.h" int main(int argc, char** argv) { int my_rank; int p; int source; int dest; int tag = 50; char message[100]; MPI_Status status; MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &my_rank); MPI_Comm_size(MPI_COMM_WORLD, &p); if(my_rank != 0) { sprintf(message, "Greetings from process %d!!\n", my_rank); dest = 0; MPI_Send(message, strlen(message) + 1, MPI_CHAR, dest, tag, MPI_COMM_WORLD); } else { for (source = 1; source < p; source++) { MPI_Recv(message, 100, MPI_CHAR, source, tag, MPI_COMM_WORLD, &status); printf("%s\n\n", message); } } MPI_Finalize(); }
__________________
I7 3930K: @ 4400 @ 1.32V, su ASUS P9X79 Deluxe - RAM: 16GB Geil 4x4GB @ 2133Mhz - Video: ATI HD6970 @ 1000 / 6000 - HD: SSD OCZ Vertex2 120gb + RAID0: 2XHitachi Deskstar T7K250 250gb SATA2 - P.S.U. Corsair TX850M - Monitor Iiyama B2712HDS LCD 27'' - Cooled by: Ybris Eclipse + Ybris ACS-G + SILENTstar HD-Quad Rev2.0 + WaterStation HomeMade: Doppio Rad triventola + Pompa Sanso PDH054
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:45.