Aracılığıyla paylaş


MPI_Grequest_start işlevi

Kullanıcı tanımlı bir istek oluşturur ve döndürür.

Söz dizimi

int MPIAPI MPI_Grequest_start(
  _In_     MPI_Grequest_query_function  *query_fn,
  _In_     MPI_Grequest_free_function   *free_fn,
  _In_     MPI_Grequest_cancel_function *cancel_fn,
  _In_opt_ void                         *extra_state,
  _Out_    MPI_Request                  *request
);

Parametreler

  • query_fn [in]
    İstek durumu sorgulandığında çağrılan geri çağırma işlevi.

  • free_fn [in]
    İstek serbest olduğunda çağrılan geri çağırma işlevi.

  • cancel_fn [in]
    İstek iptal edildiğinde geri çağırma işlevi çağrılır.

  • extra_state [in, isteğe bağlı]
    Yukarıdaki işlevlere fazladan durum geçirildi.

  • request [out]
    Genelleştirilmiş istek.

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_GREQUEST_START(QUERY_FN, FREE_FN, CANCEL_FN, EXTRA_STATE, REQUEST, IERROR)
        INTEGER REQUEST, IERROR
        EXTERNAL QUERY_FN, FREE_FN, CANCEL_FN
        INTEGER (KIND=MPI_ADDRESS_KIND) EXTRA_STATE

Açıklamalar

Geri çağırma işlevlerinden döndürülen değerler geçerli bir MPI hata kodu veya sınıfı olmalıdır. Bu değer, herhangi bir MPI yordamından (aşağıda belirtilen bir özel durum dışında) veya MPI hata sınıflarından herhangi birinin dönüş değeri olabilir. Taşınabilir programlar için MPI_ERR_OTHER kullanılabilir; daha ayrıntılı bilgi sağlamak için, MPI_Add_error_class veya MPI_Add_error_code ile yeni bir MPI hata sınıfı veya kodu oluşturun ve bu değeri döndürin.

MPI standardı, geri çağırma yordamlarından döndürülen değerlerde net değildir. Ancak, standartta bunların MPI hata kodları olduğunu belirten notlar vardır. Örneğin, 169. satır 46 ile sayfa 170 arasında olan 1. satır, free_fn MPI_ERR_IN_STATUS döndürdüğünüzde MPI tamamlama işlevlerinde kullanılabilecek bir MPI hata kodu döndürmesini gerektirir.

Tek özel durum, öznitelik geri çağırma yordamı hata döndürdüğünde MPI_Comm_dup tarafından döndürülen hata değeridir. MPI standardı, hata döndürmeyi belirtmek için hangi değerlerin kullanılabileceğini net değildir. Ayrıca, Intel MPI test paketi hatayı göstermek için sıfır olmayan değerleri kullandı ve öznitelik yordamları bir hatayla karşılaştığında bu değerlerin MPI_Comm_dup tarafından döndürülmesini bekliyordu. Bu tür hata değerleri geçerli MPI hata kodları veya sınıfları olmayabilir. Bu nedenle, öznitelik geri çağırmaları karşılığında geçerli MPI hata kodları kullanmak, bu hata kodları genelleştirilmiş bir istek geri çağırması tarafından döndürülecekse veya bu hata kodlarını algılayıp geçerli MPI hata kodlarına dönüştürmek (MPI hata sınıflarının geçerli hata kodları olduğunu hatırlayın) kullanıcının sorumluluğundadı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

Ayrıca bkz.

MPI Dış İşlevleri

MPI_Grequest_query_function

MPI_Grequest_free_function

MPI_Grequest_cancel_function