2010-04-22 5 views
0

Est-il possible d'envoyer une structure en tant que type de données dans Open MPI?Ouvrir la structure d'envoi MPI C

+0

Vous pouvez le convertir en un tableau d'octets (char *) – codymanix

+0

Que voulez-vous dire par 'envoyer'? Appeler une fonction C de MPI et passer une structure? Vice versa? Ou transférer des données sur le fil? –

Répondre

2

Oui, jetez un oeil d'abord à MPI_TYPE_CREATE_STRUCT, ou si votre implémentation n'inclut pas les fonctionnalités MPI-2, l'ancien MPI_TYPE_STRUCT.

0

Oui, mais vous devrez définir un nouveau type de données MPI qui décrit la structure de la mémoire de votre structure. Plus d'infos here.

0

Si vous utilisez C et que votre cluster utilise le même matériel sur chaque nœud, vous pouvez enregistrer les structures dans et hors d'une matrice MPI_BYTE en les transmettant. Vous devez faire attention aux compensations et aux problèmes endiens. Fonctionne pour un des programmes de type "script" mais vous ne voudrez jamais le faire en production à moins d'avoir une API standard pour le marshalling.