Aracılığıyla paylaş


MPI_Iscatter işlevi

Bir üyeden gelen verileri engelleyici olmayan bir şekilde grubun tüm üyelerine dağıtır. Bu işlev, MPI_Igatherişlevi tarafından gerçekleştirilen işlemin tersini gerçekleştirir.

Söz dizimi

int MPIAPI MPI_Iscatter(
  _In_opt_  const void         *sendbuf,
  _In_             int         sendcount,
  _In_            MPI_Datatype sendtype,
  _Out_opt_       void         *recvbuf,
  _In_            int          recvcount,
  _In_            MPI_Datatype recvtype,
  _In_            int          root,
  _In_            MPI_Comm     comm,
  _Out_           MPI_Request  *request
);

Parametreler

  • sendbuf [in, isteğe bağlı]
    Kök işleme gönderilecek verileri içeren bir arabelleğe işaretçi.

    Bu parametre kök olmayan tüm işlemler için yoksayılır.

    comm parametresi bir intracommunicator'a başvuruda bulunursa, kök işlemde MPI_IN_PLACE belirterek yerinde bir seçenek belirtebilirsiniz. recvcount ve recvtype parametreleri yoksayılır. Dağılımlı vektör hala n segment içerdiği düşünülür; burada n grup boyutudur; kök işleme karşılık gelen segment taşınmaz.

  • sendcount [in]
    Gönderme arabelleğindeki öğelerin sayısı. Sendcount değeri sıfırsa, iletinin veri bölümü boş olur.

    Bu parametre kök olmayan tüm işlemler için yoksayılır.

  • sendtype [in]
    Arabellekteki her öğenin veri türü.

    Bu parametre kök olmayan tüm işlemler için yoksayılır.

  • recvbuf [out, isteğe bağlı]
    Her işlemde alınan verileri içeren bir arabelleğe tanıtıcı. Arabellekteki öğelerin sayısı ve veri türü recvcount ve recvtype parametrelerinde belirtilir.

  • recvcount [in]
    Alma arabelleğindeki öğelerin sayısı. Sayı sıfırsa, iletinin veri bölümü boş olur.

  • recvtype [in]
    Alma arabelleğindeki öğelerin MPI veri türü.

  • root [in]
    Belirtilen communicator içindeki alma işleminin sırası.

  • comm [in]
    MPI_Comm iletişimci tutamacı.

  • request [out]
    İletişim işlemini temsil eden MPI_Request tanıtıcısı.

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_ISCATTER(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF, RECVCOUNT, RECVTYPE, ROOT, COMM, REQUEST, IERROR)
        <type> SENDBUF(*), RECVBUF(*)
        INTEGER SENDCOUNT, SENDTYPE, RECVCOUNT, RECVTYPE, ROOT, COMM, REQUEST, IERROR

Açıklamalar

Engelleyici olmayan bir çağrı, ayrı bir tamamlama çağrısında tamamlanması gereken toplu bir azaltma işlemi başlatır. İşlem başlatıldıktan sonra, katılan süreçlerdeki tüm hesaplamalardan veya diğer iletişimlerden bağımsız olarak ilerleyebilir. Bu şekilde engelleyici olmayan azaltma işlemleri, azaltma işlemlerini "arka planda" çalıştırarak olası eşitleme etkilerini azaltabilir.

Engelleyici olmayan azaltma işlemleri için tüm tamamlama çağrıları (örneğin , MPI_Wait) desteklenir.

Gereksinimler

Ürün

Microsoft MPI v7

Üst bilgi

Mpi.h; Mpif.h

Kitaplık

Msmpi.lib

DLL

Msmpi.dll

Ayrıca bkz.

MPI Kolektif İşlevleri

MPI_Datatype

MPI_Scatter

MPI_Test

MPI_Testall

MPI_Testany

MPI_Testsome

MPI_Wait

MPI_Waitall

MPI_Waitany

MPI_Waitsome