An embodiment of the present invention is directed to a method for
compiling, storing, and interpreting, as often as needed, a representation
of any MPI datatype, including the steps of compiling a tree
representation of an MPI datatype into a compact, linear data gather
scatter program (DGSP) wherein the DGSP is of a form general enough to
encode an arbitrarily complex datatype, registering the compact linear
DGSP with a communications subsystem for later interpretation by the
subsystem for at least one of sends, receives, packs and unpacks, creating
a registered DGSP, and interpreting the registered DGSP. In one embodiment
of the present invention, the form of the DGSP uses a single generalized
representation. In another embodiment the single generalized
representation covers any of the arbitrarily complex datatype patterns
that can arise in this context. In yet another embodiment, the single
generalized representation provides that any datatype that can be
constructed using an application programming interface (API) in MPI can be
converted into the form.
Μια ενσωμάτωση της παρούσας εφεύρεσης κατευθύνεται σε μια μέθοδο για, αποθήκευση, και ερμηνεύοντας, τόσο συχνά όπως απαιτείται, μια αντιπροσώπευση οποιουδήποτε MPI datatype, συμπεριλαμβανομένων των βημάτων της σύνταξης μιας αντιπροσώπευσης δέντρων ενός MPI datatype σε ένα συμπαγές, γραμμικό στοιχείο συλλέγει το πρόγραμμα διασποράς (DGSP) όπου το DGSP είναι μιας μορφής αρκετά γενικό να κωδικοποιήσει ένα αυθαίρετα σύνθετο datatype, η καταχώρηση του συμπαγούς γραμμικού DGSP με ένα υποσύστημα επικοινωνιών για την πιό πρόσφατη ερμηνεία από το υποσύστημα για τουλάχιστον ένα από στέλνει, λαμβάνει, συσκευάζει και ανοίγει, δημιουργώντας ένα καταχωρημένο DGSP, και ερμηνεύοντας το καταχωρημένο DGSP. Σε μια ενσωμάτωση της παρούσας εφεύρεσης, η μορφή του DGSP χρησιμοποιεί μια ενιαία γενικευμένη αντιπροσώπευση. Σε μια άλλη ενσωμάτωση η ενιαία γενικευμένη αντιπροσώπευση καλύπτει οποια δήποτε από τα αυθαίρετα σύνθετα σχέδια datatype που μπορούν να προκύψουν σε αυτό το πλαίσιο. Σε ακόμα μια ενσωμάτωση, η ενιαία γενικευμένη αντιπροσώπευση ορίζει ότι οποιοδήποτε datatype που μπορεί να κατασκευαστεί χρησιμοποιώντας μια διεπαφή προγραμματισμού εφαρμογής (API) σε MPI μπορεί να μετατραπεί στη μορφή.