OcamlMpi a les instructions pour bloquer l'envoi et la réception. Est-ce que quelqu'un a fait un reçu non-bloquant pour ocamlmpi?Réception non bloquante en mpi + ocaml?
Répondre
Malheureusement, il ne semble y avoir aucune référence aux appels MPI non bloquants dans la source OcamlMPI. Cependant, j'ai remarqué que pour les versions de blocage, MPI_Send est utilisé. Sous certaines conditions, MPI_Send se comportera comme un appel non bloquant (par exemple pour les petits messages qui correspondent aux tampons de messages sortants par défaut), mais ce comportement dépend de l'implémentation et ce n'est pas quelque chose sur lequel vous pouvez compter. Par l'apparence de la source OcamlMPI, je ne pense pas qu'il serait difficile d'implémenter vos propres équivalents non-bloquants, jetez un oeil dans "msgs.c" (un fichier dans la source OcamlMPI), la fonction " caml_mpi_send "contient le code pour l'envoi standard. Remplacer MPI_Send avec MPI_Isend et gérer le retour d'une structure de données MPI_Request devrait faire l'affaire. Oh, et vous auriez besoin d'ajouter une autre fonction pour MPI_Wait. Vérifiez le MPI standard pour plus d'informations.
Espérons que ça aide!
Mpi.iprobe est disponible dans le dernier coffre Subversion ocamlmpi:
http://forge.ocamlcore.org/projects/ocamlmpi/
Cela fournit un contrôle non-bloquant de nouveaux messages. Une fois qu'un message est disponible, la réception de blocage normale peut être utilisée pour récupérer le message.
- 1. Collecte simultanée non bloquante?
- 2. WPF: IU non bloquante
- 3. Classe non-bloquante en python (Thread détaché)
- 4. Détection d'erreurs d'E/S dans une PRISE NON BLOQUANTE
- 5. Test d'une file d'attente non bloquante
- 6. C++ Winsock socket non-bloquante/asynchrone UDP
- 7. Application Windows Mobile sans terminaison/non bloquante
- 8. Comment fonctionne une boucle d'événement non-bloquante?
- 9. Allocation de mémoire Java non bloquante
- 10. Boîte de dialogue non bloquante dans Applescript
- 11. Fonction d'attente non bloquante dans Objective-C
- 12. Entrée de console non bloquante Python
- 13. Comment faire une extraction d'URL non bloquante en Python
- 14. en utilisant QTextStream pour lire stdin de manière non bloquante
- 15. Message de taille variable en MPI
- 16. Problème UDP avec non-réception
- 17. fold_tree en OCaml
- 18. fonctions récursives en OCaml
- 19. annotations en OCaml
- 20. Création d'une socket non bloquante pour WinSocks et * nix
- 21. Windows: Comment afficher une fenêtre Alerte/Confirmation non bloquante?
- 22. Mise à jour non bloquante à un DataGridView
- 23. IO # lit les blocs sur une prise non bloquante?
- 24. Comportement incorrect de MacOSX select() sur une connexion non bloquante
- 25. compilateur matriciel MPI compile err: non déclaré avec le code
- 26. Une implémentation de pool de mémoire thread-safe non bloquante
- 27. Comment effectuer une lecture IPC non bloquante sous Windows?
- 28. est la programmation simultanée non bloquante pour réel?
- 29. Une façon simple et non bloquante de dormir?
- 30. modules Ocaml mise en œuvre