Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Belirtilen communicator ile ilişkili grubu belirtilen sayıda kopuk alt gruba böler.
Söz dizimi
int MPIAPI MPI_Comm_split(
MPI_Comm comm,
int color,
int key,
_Out_ MPI_Comm *newcomm
);
Parametreler
Comm
Bölünecek iletişimci.Renk
Çağrı işleminin atanacağı yeni iletişimci. Renk değeri negatif olmamalıdır.Bir işlem MPI_UNDEFINEDrenk değerini belirtirse işlev, çağırma işlemine newcomm parametresinde MPI_COMM_NULL döndürür.
Anahtar
Yeni iletişimci grubundaki çağırma işleminin göreli sırası. Anahtar ve renk parametrelerini kullanma hakkında ayrıntılı bilgi için bkz. Açıklamalar.newcomm [out]
Dönüşte, yeni bir iletişimcinin tutamacını içerir.
Döndürülen değer
Başarılı MPI_SUCCESS döndürür. Aksi takdirde, dönüş değeri bir hata kodudur.
Fortran'da, dönüş değeri IERROR parametresinde depolanır.
Fortran
MPI_COMM_SPLIT(COMM,COLOR,KEY,NEWCOMM,IERROR)
INTEGER COMM, COLOR, KEY, NEWCOMM, IERROR
Açıklamalar
Bu kolektif bir işlevdir, ancak her işlem renk ve anahtar parametreleri için farklı değerler belirtebilir.
Bu, tek bir iletişim halindeki işlem grubunu rastgele sayıda alt gruba bölmeye yönelik son derece güçlü bir mekanizmadır. Alt grupların sayısı, tüm işlemler üzerinde belirtilen renk sayısına göre belirlenir. Sonuçta elde edilen iletişimciler çakışmaz. Bir iletişimciyi bu şekilde alt bölümlere ayırın, çok kılavuzlu veya doğrusal cebir gibi bir hesaplama hiyerarşisi tanımlamak için kullanışlıdır.
Her alt grup , renk parametresi için aynı değeri belirten tüm işlemleri içerir. Her alt grup içinde, işlemler anahtar parametresinin değeriyle tanımlanan sırada sıralanır ve eski gruptaki derecelerine göre bağıntılar kesilir.
Bir intracommunicator communicator ile çağrısı, MPI_COMM_CREATE(comm, group, new-comm) grup üyeleri olan işlemlerin, renk parametresi için tüm ayrık grupların benzersiz bir numaralandırmasına göre grubun numarasını ve anahtar parametresinin gruptaki derecesini belirttiği çağrısına eşdeğerdirMPI_COMM_SPLIT(comm, color, key, newcomm). Grubun üyesi olmayan tüm işlemler renk parametresi için MPI_UNDEFINED belirtir.
Herhangi bir renk için anahtar değerlerinin benzersiz olması gerekmez. MPI_Comm_split işlevi, işlemleri anahtar parametresinin değerine göre sıralar ve kaynakları kaynak gruptaki göreli derecelerine göre sıralar. Tüm anahtar parametreleri için aynı değer belirtilirse, belirli bir renkteki tüm işlemler üst gruplarında sahip oldukları göreli sıralama sırasına sahiptir.
intracommunicators için , MPI_Comm_split ve MPI_Comm_create işlevleri bir iletişim grubunu kopuk alt gruplara bölmek için benzer bir özellik sağlar.
MPI_Comm_split işlevi, bazı işlemler kendi grubundaki diğer üyelerin tam bilgisine sahip olmadığında, ancak tüm işlemler ait oldukları grubun rengine sahip olduğunda kullanılır. Bu durumda, MPI uygulaması iletişim yoluyla diğer grup üyelerini bulur.
MPI_Comm_create işlevi, tüm işlemler kendi grup üyelerinin tam bilgilerine sahip olduğunda kullanılır. Bu durumda, MPI uygulaması grup üyeliğini bulmak için gereken ek iletişimi önleyebilir.
MPI_Comm_split tarafından oluşturulan communicator'lar çakışamaz. Bu sınırlamanın üstesinden gelmek için MPI_Comm_split işlevini birden çok kez çağırabilirsiniz. Bu şekilde birden çok çakışan iletişim yapısı oluşturabilirsiniz. Bu tür bölme işlemlerinde renk ve anahtar parametrelerin yaratıcı kullanımı önerilir.
MPI_Comm_split işlevinin bir iletişim aracı üzerindeki sonucu, sol tarafta bu işlemlerin sağdaki işlemlerle aynı renkte olması ve yeni bir iletişim aracı oluşturmak için birleştirilmesidir. Anahtar parametresi, intercommunicator'ın her tarafındaki işlemlerin göreli derecesini tanımlar. MPI_COMM_NULL tutamacını içeren yeni bir iletişimci, renk olarak MPI_UNDEFINED belirten veya iletişimcinin yalnızca bir tarafında belirtilen bir renk belirten işlemlere döndürülür.
Gereksinimler
Ürün |
HPC Pack 2012 MS-MPI Yeniden Dağıtılabilir Paketi, HPC Pack 2008 R2 MS-MPI Yeniden Dağıtılabilir Paketi, HPC Pack 2008 MS-MPI Yeniden Dağıtılabilir Paketi veya HPC Pack 2008 İstemci Yardımcı Programları |
Üst bilgi |
Mpi.h; Mpif.h |
Kitaplık |
Msmpi.lib |
DLL |
Msmpi.dll |