begin process at 2012 02 11 10:46:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Algorithme

 > 

Maths

 > 

Comment utiliser un vecteur Ublas avec open MPI


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comment utiliser un vecteur Ublas avec open MPI

lundi 24 novembre 2008 à 23:14:56 | Comment utiliser un vecteur Ublas avec open MPI

bp4012

Bonjour,

Je code un programme de calcul de propagation d'onde en parallele.
Je précise que je débute en programmation C++ et MPI.
Je suis sous linux.

J'utilise les vecteur de boost Ublas et j'aimerai utiliser deux fonctions de MPI : scatter et sendrecv. 
Pour ces deux fonctions, il me faut l'addresse du vecteur, si je rentre nom_vecteur le compilateur me dit que ce n'est pas un void *; et si je rentre &nom_vecteur le compilateur n'accepte pas non plus.

Est-il possible d'obtenir l'index en quelque sorte d'un vecteur Ublas? De cette maniere, je pouraai directement envoyer nom_vecteur.index() avec la methode index que j'aurai crée dans ma classe vecteur.

Si quelqu'un a une piste ou la solution, merci d'avance.

Ps si ma question n'est pas claire ou au mauvais endroit sur le forum, n'hésitez pas à me le signaler.


mardi 25 novembre 2008 à 17:04:52 | Re : Comment utiliser un vecteur Ublas avec open MPI

Lucky92

Bonjour,

Pourrais-tu poster le code qui ne compile pas ainsi que l'erreur et également préciser la version de boost que tu utilises ?

mardi 25 novembre 2008 à 18:34:47 | Re : Comment utiliser un vecteur Ublas avec open MPI

bp4012

Alors voila mon code. il s'agit juste d'un petit test avec scatter et un vecteur(VecteurSP, hérité directement des vecteurs de ublas ,l'avant derniere version,1.36 :

#include <iostream>
#include <stdio.h>
#include <fstream>
#include "MatriceBoost.h"
#include <mpi.h>


using namespace std;


int
main(int argc, char *argv[])
{


int rank, size;
int i;

int Nx = 20;
VecteurSP X(Nx);
for (i=0;i<Nx;i++)
    {
     X(i) = i;
    }

    cout<< "le vecteur X est : "<<X<<endl;

//////////////////////////////debut parallel////////////////////////////////////////////////////////

  MPI::Init(argc, argv);

  rank = MPI::COMM_WORLD.Get_rank();
  size = MPI::COMM_WORLD.Get_size();

  int Nx_proc = Nx/size;
  VecteurSP X_proc(Nx_proc);



MPI_Scatter( &X(0)), Nx_proc, MPI_REAL, &X_proc(0), Nx_proc, MPI_REAL, 0, MPI_COMM_WORLD);


  cout << "Hello world! I am " << rank +1 << " of " << size << " et mon vecteur X_proc est : "<<X_proc<<endl;

  MPI::Finalize();

  return 0;
}



Quand je compile, j'obtient ceci :

[jerem@localhost MPI_scatter]$ mpic++ -Wall -o main_scatter main_scatter.cpp
main_scatter.cpp: In function 'int main(int, char**)':
main_scatter.cpp:40: erreur: cannot convert 'VecteurSP' to 'void*' for argument '1' to 'int MPI_Scatter(void*, int, ompi_datatype_t*, void*, int, ompi_datatype_t*, int, ompi_communicator_t*)'
main_scatter.cpp:40: erreur: expected `;' before ')' token


J'ai également essayer de mettre &X(0) à la place de X mais sans succes, dans ce cas il me retourne :
[jerem@localhost MPI_scatter]$ mpic++ -Wall -o main_scatter main_scatter.cpp
/tmp/ccDZe6EC.o: In function `main':
main_scatter.cpp:(.text+0x87): undefined reference to `VecteurSP::VecteurSP(int)'
main_scatter.cpp:(.text+0x145): undefined reference to `VecteurSP::VecteurSP(int)'
collect2: ld a retourné 1 code d'état d'exécution


Je précise également que j'ai utilisé le meme programme avec un tableau tout simple et la pas de probleme en mettant juste le nom du tableau comme argument.

Voila, si il faut encore des précision aucun souci,

Merci d'avance!




Cette discussion est classée dans : utiliser, index, vecteur, mpi, ublas


Répondre à ce message

Sujets en rapport avec ce message

Groupe de controle [ par damien174 ] bonjour j'aurais voulu savoir si c'était possible d'utiliser des index ou autre truc dans ce genre la pour utiliser un seul nom d'un obget par exemple ouvrir un mp3 [ par habibdu70 ] FC internazionnaleSlt, j'ai utiliser le programme de Haldwin qui s'intitule "LECTEUR AUDIO LISANT LES MP3, WMA ET WAV.... "tout d'abors merci pour ton dll .def [ par moloko2000 ] Que signifie cette erreur ?hop.def : warning LNK4017: s400_ipdetail@@YGPADHHQAD@Z statement not supported for the target platform; ignoredJe n'arrive comment utiliser getvolumeinformation [ par shinevilkyo ] tout d abort boujour ,je suis nouveau ds la prog sur windows et j aurais voulu faire un prog qui me permette de liste tout ce qui a ds un cd rom.mais Probleme avec une source [ par flatmax ] salut a tousca fait des jours que j'essaye d'utiliser une classe créé par un membre sur ce site, mais sans succes :(la source se trouve ici :http://ww Flash OCX sans MFC [ par Bilock ] Bonjour,Depuis quelque temps je cherche un moyen d'utiliser Flash OCX sans faire appel aux MFC. Et vu mon niveau en prog ben c'est pas facile.Dernière Comment utiliser une dll inconnue ? [ par Dionysos33 ] Bonjour à tous,Est-il possible de connaitre les fonctions d'une dll qu'on a pas créé ? C'est à dire l'utiliser en ayant uniquement le fichier .dllMerc Manipulation de netbios [ par guiguikun ] Peut-on modifier/utiliser netbios et sa configuration dans une application sans devoir utiliser system("net share blabla"); ?API ? Controle ? J'utilis utiliser visual c++ editeur et compilateur c [ par JeanLucZ ] Bonjour à tous,Quelqu'un peut-il m'indiquer une démarche simple pour editer et compiler du C dans visual c++.Merci d'avance.JL Ecrire ds un tableau excel ss VC++ : utiliser ADO??????? [ par kalf2000 ] bonjour,voila je voudrais savoir comment insérer des caractère (ou autre) dans un tableau excel. j'ai deja regardé en peu sur le forum et j'ai cru com


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,054 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales