Aracılığıyla paylaş


geri çağırma işlevini MPI_Grequest_query_function

MPI_Grequest_query_function , uygulama tanımlı işlev adı için bir yer tutucudur.

Söz dizimi

int MPI_Grequest_query_function(
  _In_opt_ void       *extra_state,
  _Out_    MPI_Status *status
);

Parametreler

  • extra_state [in, isteğe bağlı]
    Ek durum.

  • status [out]
    MPI durum nesnesi.

Döndürülen değer

Tüm geri çağırma işlevleri bir hata kodu döndürür. Kod geri geçirilir ve geri çağırma işlevini çağıran MPI işlevi tarafından hata kodu için uygun şekilde ele alır. Örneğin, hata kodları döndürülürse geri çağırma işlevi tarafından döndürülen hata kodu, geri çağırma işlevini çağıran MPI işlevi tarafından döndürülür. MPI_ durumunda{Wait|Test}hem query_fn hem de free_fn çağıran herhangi bir çağrıda, MPI çağrısı son geri çağırma tarafından döndürülen hata kodunu döndürür( yani free_fn). MPI_ çağrısında bir veya daha fazla istek varsa {Wait|Test}{some|all} başarısız oldu, ardından MPI çağrısı MPI_ERR_IN_STATUS döndürecek. Böyle bir durumda, MPI çağrısına bir dizi durum geçirildiyse, MPI tamamlanmış bir genelleştirilmiş isteğe karşılık gelen durumların her birinde , free_fn geri çağırma işlevinin karşılık gelen çağrısı tarafından döndürülen hata kodunu döndürür. Ancak, MPI işlevi MPI_STATUSES_IGNORE geçirildiyse, her geri çağırma işlevi tarafından döndürülen tek tek hata kodları kaybolur.

Fortran

    SUBROUTINE GREQUEST_QUERY_FUNCTION(EXTRA_STATE, STATUS, IERROR)
        INTEGER STATUS(MPI_STATUS_SIZE), IERROR
        INTEGER(KIND=MPI_ADDRESS_KIND) EXTRA_STATE

Açıklamalar

query_fn işlevi, genelleştirilmiş istek için döndürülmesi gereken durumu hesaplar. Durum ayrıca isteğin başarılı/başarısız iptali ( MPI_Test_cancelled tarafından döndürülecek sonuç) hakkındaki bilgileri de içerir.

query_fn geri çağırması MPI_ tarafından çağrılır{Wait|Test}{any|some|all} çağrısı, bu geri çağırmayla ilişkili genelleştirilmiş isteği tamamladı. Geri çağırma işlevi, çağrı gerçekleştiğinde istek tamamlandığında MPI_Request_get_status çağrıları tarafından da çağrılır. Her iki durumda da, geri arama, kullanıcı tarafından MPI çağrısına geçirilen ilgili durum değişkenine bir başvuru geçirilir; geri çağırma işlevi tarafından ayarlanan durum MPI çağrısı tarafından döndürülür. Kullanıcı query_fn çağrılmaya neden olan MPI işlevine MPI_STATUS_IGNORE veya MPI_STATUSES_IGNORE sağladıysa, MPI geçerli bir durum nesnesini query_fn geçirir ve geri çağırma işlevi döndürüldükten sonra bu durum yoksayılır. query_fn yalnızca istekte MPI_Grequest_complete çağrıldıktan sonra çağrıldığını unutmayın; aynı genelleştirilmiş istek için birkaç kez çağrılabilir; örneğin, kullanıcı bu istek için MPI_Request_get_status birkaç kez çağırırsa. Ayrıca MPI_{Wait| çağrısınınTest}{some|all} , MPI çağrısı tarafından tamamlanan her genelleştirilmiş istek için bir tane query_fn geri çağırma işlevlerinin birden çok çağrısına neden olabilir. Bu çağrıların sırası MPI tarafından belirtilmez.

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

Ayrıca bkz.

MPI Dış İşlevleri

MPI_Grequest_start

MPI_Waitall

MPI_Waitsome

MPI_Waitany

MPI_Testall

MPI_Testsome

MPI_Testany