मैं थोड़ा के तुल्यकालिक अवधारणा के बारे में मिश्रित गया immidiate - & गैर अवरुद्ध परिचालन (openmpi में) यहाँ से अवरुद्ध के संदर्भ में अतुल्यकालिक:बनाम openmpi में तुल्यकालिक संचार
link 1 : MPI_Isend है जरूरी नहीं कि अतुल्यकालिक (इसलिए यह तुल्यकालिक कर सकते हैं?)
link 2 : MPI_Isend() और MPI_Irecv() अतुल्यकालिक संचार pri हैं एमपीआई के mitives।
मैं पहले से ही पिछले समन्वयन के माध्यम से चले गए हैं - async - अवरुद्ध - stackoverflow (asynchronous vs non-blocking) पर गैर अवरुद्ध सवाल है, लेकिन मेरे लिए कोई मदद नहीं की थी। जहां तक मुझे पता है:
- immidiate (MPI_ISEND): विधि देता है & अगली पंक्ति निष्पादित करता है -> nonblocking
- स्टैंडर्ड/गैर-तत्काल (MPI_SEND): बड़े संदेश के लिए यह ब्लॉक जब तक स्थानांतरण पूरा करता
- एक तुल्यकालिक आपरेशन ब्लॉक (http://www.cs.unc.edu/~dewan/242/s07/notes/ipc/node9.html)
- एक अतुल्यकालिक आपरेशन गैर अवरुद्ध है (http://www.cs.unc.edu/~dewan/242/s07/notes/ipc/node9.html)
तो कैसे & क्यों MPI_ISEND (लिंक 1) और साथ ही गैर अवरुद्ध (लिंक 2) बाधित कर रहा होगा? i.e.what का मतलब एसिंक्रोनस & सिंक्रोनस MPI_ISEND यहां है?
इसी प्रकार के भ्रम MPI_SSEND & MPI_ISSEND के बारे में उठता है, एस के बाद से MPI_ एस भेजें तुल्यकालिक (या अवरुद्ध) का अर्थ है में और: -
- MPI_SSEND: तुल्यकालिक भेजने ब्लॉक डेटा पर प्राप्त होने तक रिमोट प्रोसेस & एके प्रेषक द्वारा प्राप्त किया गया है,
- MPI_ISSEND: तात्कालिक सिंक्रोनस से nd
भी मैं mmediate गैर अवरुद्ध है, तो, कैसे MPI_ कर सकते हैं भेजने एस हो ynchronous & वापसी मैं mmediately?
मुझे लगता है कि & ब्लॉकिंग & ब्लॉकिंग ओपनएमपीआई संचार को अवरुद्ध करने के संदर्भ में तुल्यकालिक अतुल्यकालिक & में अधिक स्पष्टता की आवश्यकता है। इस संबंध में एक व्यावहारिक उदाहरण या समानता बहुत उपयोगी होगी।
मैं एक ही चीज़ को समझने की कोशिश कर रहा था, और मैंने प्रत्येक प्रेषण मोड के लिए उदाहरण लिखना समाप्त कर दिया, यहां: https://gist.github.com/deborasetton/9f8597d85a4d314ace17। कभी-कभी अंतर देखने के लिए वास्तविक कोड को देखना उपयोगी होता है। – dsetton