Bagikan melalui


MPI_Grequest_free_function fungsi panggilan balik

MPI_Grequest_free_function adalah tempat penampung untuk nama fungsi yang ditentukan aplikasi.

Sintaks

int MPI_Grequest_free_function(
  _In_opt_ void *extra_state
);

Parameter

  • extra_state [in, opsional]
    Keadaan ekstra.

Mengembalikan nilai

Semua fungsi panggilan balik mengembalikan kode kesalahan. Kode diteruskan kembali dan ditangani sesuai untuk kode kesalahan oleh fungsi MPI yang memanggil fungsi panggilan balik. Misalnya, jika kode kesalahan dikembalikan, maka kode kesalahan yang dikembalikan oleh fungsi panggilan balik akan dikembalikan oleh fungsi MPI yang memanggil fungsi panggilan balik. Dalam kasus panggilan MPI_Waitany dan MPI_Testany yang memanggil query_fn dan free_fn, panggilan MPI akan mengembalikan kode kesalahan yang dikembalikan oleh panggilan balik terakhir, yaitu free_fn. Jika satu atau beberapa permintaan dalam panggilan ke MPI_Waitsome, MPI_Waitall, MPI_Testsome, atau MPI_Testall gagal, panggilan MPI akan mengembalikan MPI_ERR_IN_STATUS. Dalam kasus seperti itu, jika panggilan MPI dilewatkan array status, maka MPI akan kembali di setiap status yang sesuai dengan permintaan umum yang telah selesai, kode kesalahan yang dikembalikan oleh pemanggilan yang sesuai dari fungsi panggilan balik free_fn . Namun, jika fungsi MPI diteruskan MPI_STATUSES_IGNORE, maka kode kesalahan individual yang dikembalikan oleh setiap fungsi panggilan balik akan hilang.

Fortran

    SUBROUTINE GREQUEST_FREE_FUNCTION(EXTRA_STATE, IERROR)
        INTEGER IERROR
        INTEGER(KIND=MPI_ADDRESS_KIND) EXTRA_STATE

Keterangan

Fungsi free_fn dipanggil untuk membersihkan sumber daya yang dialokasikan pengguna saat permintaan umum dikosongkan.

Panggilan balik free_fn dipanggil oleh MPI_{Wait|Test}{any|some|all} memanggil yang menyelesaikan permintaan umum yang terkait dengan panggilan balik ini. free_fn dipanggil setelah panggilan ke query_fn untuk permintaan yang sama. Namun, jika panggilan MPI menyelesaikan beberapa permintaan umum, urutan di mana fungsi panggilan balik free_fn dipanggil tidak ditentukan oleh MPI.

Panggilan balik free_fn juga dipanggil untuk permintaan umum yang dikosongkan oleh panggilan ke MPI_Request_free (tidak ada panggilan ke MPI_{Wait|Test}{any|some|all} akan terjadi untuk permintaan tersebut). Dalam hal ini, fungsi panggilan balik akan dipanggil baik dalam panggilan MPI MPI_Request_free, atau dalam panggilan MPI MPI_Grequest_complete, mana pun yang terjadi terakhir, yaitu, dalam hal ini kode pembekuan aktual dijalankan segera setelah panggilan MPI_Request_free dan MPI_Grequest_complete terjadi. Permintaan tidak dibatalkan alokasinya sampai setelah free_fn selesai. Perhatikan bahwa free_fn hanya akan dipanggil sekali per permintaan oleh program yang benar.

Persyaratan

Produk

Paket Redistributable HPC Pack 2012 MS-MPI, Paket HpC Pack 2008 R2 MS-MPI Redistributable, Paket HPC Pack 2008 MS-MPI Redistributable Package atau HpC Pack 2008 Client Utilities

Header

Mpi.h; Mpif.h

Lihat juga

Fungsi Eksternal MPI

MPI_Grequest_start

MPI_Waitall

MPI_Waitsome

MPI_Waitany

MPI_Testall

MPI_Testsome

MPI_Testany