Aracılığıyla paylaş


MSMPI_Waitsome_interruptible işlevi

Listedeki etkin tanıtıcılarla ilişkili işlemlerden en az birinin bitmesini veya çağrının MSMPI_Queuelock_acquire çağıran başka bir iş parçacığı tarafından kesilmesini bekler.

Söz dizimi

int MPIAPI MSMPI_Waitsome_interruptible(
        int                                         incount,
        _Inout_count_(incount) MPI_Request          array_of_requests[],
  _Out_ int                                         *outcount,
        _Out_cap_post_count_(incount,*outcount) int array_of_indices[],
        _Out_cap_post_count_(incount,*outcount) int array_of_statuses[]
);

Parametreler

  • incount
    Dizideki isteklerin sayısı array_of_requests.

  • array_of_requests
    Tamamlanmasının beklendiği işlemlerin istek tanıtıcıları dizisi. İstek tanıtıcısı engelleyici olmayan bir iletişim işlevi tarafından ayrılmışsa serbest bırakılır ve ilişkili tanıtıcı MPI_REQUEST_NULL olarak ayarlanır.

  • outcount [out]
    Tamamlanan array_of_requests parametresinde belirtilen isteklerin sayısı ve array_of_indices ve array_of_statuses dizilerindeki öğelerin sayısı.

    array_of_requests etkin tanıtıcı içermiyorsa işlev outcount parametresi MPI_UNDEFINED olarak ayarlanmış şekilde hemen döndürür.

    Herhangi bir istek tamamlanmadan önce bu işlev kesintiye uğrarsa, çağrı outcount parametresi sıfır olarak ayarlanmış olarak geri döner.

  • array_of_indices
    Tamamlanan işlemlerin array_of_requests parametresi içindeki dizinleri döndürür. Dizi dizinleri C'de sıfır tabanlı ve Fortran'da bir tabanlıdır.

  • array_of_statuses
    Tamamlanan işlemlerin durumunu döndürür. Bu dizinin öğeleri , array_of_indices dizisinin öğelerine karşılık gelir.

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.

İşlev MPI_ERR_IN_STATUS dışında bir hata döndürürse, array_of_statuses parametresindeki durumların hata alanlarını güncelleştirmez.

Açıklamalar

Çok iş parçacıklı bir ortamda, kullanıcıların MSMPI_Waitsome_interruptible çağırmadan önce MSMPI_Queuelock_acquire işlevini kullanarak genel Microsoft MPI kilidini alması gerekir. Başka bir iş parçacığı MPI kitaplığına erişmek için MSMPI_Queuelock_acquire işlevini çağırdığında bu işlev kesilir.

Bu işlev, standardın bir uzantısıdı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

Kitaplık

Msmpi.lib

DLL

Msmpi.dll

Ayrıca bkz.

MPI Noktadan Noktaya İşlevler

MSMPI_Lock_queue

MSMPI_Queuelock_acquire

MSMPI_Queuelock_release

MPI_Waitsome