Deseo enviar un mensaje a uno de los rangos recibiendo un mensaje con una etiqueta específica. Si hay algún rango recibido, el mensaje y el mensaje se consumen. En MPI_Recv() podemos recibir un mensaje usando MPI_ANY_SOURCE/MPI_ANY_TAG pero MPI_Send() no puede hacer esto. ¿Cómo puedo enviar un mensaje con un destino desconocido? El MPI_Bcast() no puede hacerlo porque después de recibirlo, tengo que responder al proceso de origen. Gracias.¿Cómo enviar un mensaje sin un destino específico en MPI?
Respuesta
Lo que haría es hacer que los procesos de trabajo indiquen al maestro que están listos para recibir. El maestro mantendría un registro de los rangos que están listos, elija uno (rango más bajo primero, aleatorio, round robin, como quiera), envíelo y borre su bandera de "listo".
¿Desea enviar un mensaje al azar?
MPI_Comm_size(MPI_COMM_WORLD, &size);
sendto = rand() % size;
MPI_Send(buffer, count, MPI_CHAR, sendto, 0, MPI_COMM_WORLD);
La respuesta corta es: No se puede hacer esto en MPI.
La respuesta un poco más larga es: Probablemente no quieras hacer esto. Supongo que estás intentando establecer algún tipo de robo de trabajo. Como suszterpatt sugirió, podría usar la comunicación unilateral para 'agarrar' el trabajo del proceso de envío, pero necesitará usar bloqueos, y esto no se adaptará bien a muchos procesos a menos que haya alguna idea de un grupo de proceso local (es decir, no puede tener 1,000 procesos, todo el robo de trabajo de un proceso, tendrá que descomponer las cosas).
- 1. Unjar a un destino específico
- 2. Cómo enviar un mensaje usando XMPP Framework
- 3. ¿Necesito tener un MPI :: Irecv correspondiente para un MPI :: Isend?
- 4. cómo enviar un mensaje al proceso principal
- 5. MessagingExceptionIOException al enviar un mensaje en java?
- 6. ¿Cómo depuro un programa MPI?
- 7. Enviar datos a un hilo específico
- 8. CQRS: ¿cuándo enviar un mensaje de confirmación?
- 9. Enviar mensaje en C#
- 10. Enviar un mensaje a través de XMPPFramework para iOS
- 11. ¿Registrar un mensaje enviar a nil?
- 12. Enviar un mensaje de texto de R
- 13. Enviar o publicar un mensaje en un bucle de mensaje de Windows Forms
- 14. Git: Enviar a un repositorio remoto con un mensaje
- 15. mejor manera de enviar un mensaje a un hilo
- 16. Enviar un mensaje a un amigo, me pregunto Javascript API
- 17. ¿Cómo enviar un mensaje SMS en un dispositivo Android en segundo plano?
- 18. ¿Cómo enviar un mensaje de sesión a un usuario anónimo en un sitio de Django?
- 19. ¿Cómo enviar un POST en .net vb?
- 20. ¿Cómo enviar un mensaje a un TThread desde el hilo principal en Delphi?
- 21. Cómo enviar un mensaje a un receptor en particular mediante JMS Queue
- 22. SignalR (Hub) puede enviar un mensaje, excepto fabricante de señal?
- 23. Enviar un mensaje xmpp utilizando una biblioteca de Python
- 24. ¿Es malo enviar un mensaje a self() in init?
- 25. Cómo mostrar el mensaje emergente sin tener un contexto
- 26. enviar un mensaje de texto a través de .net
- 27. Pepino, capibara y selenio: enviar un formulario sin un botón
- 28. ¿Cómo puedo enviar una imagen en la web en un mensaje XMPP (Jabber)?
- 29. Cargando biblioteca compartida en open-mpi/mpi-run
- 30. SignalR + enviar un mensaje a un concentrador a través de un método de acción
Si el receptor sabe qué datos necesita, puede usar operaciones MPI de una cara, a saber, 'MPI_Get'. –
Esta pregunta sería muy bien recibida en http://scicomp.stackexchange.com –