Bagikan melalui


MPI_Grequest_start (Fungsi MPI_Grequest_start)

Membuat dan mengembalikan permintaan yang ditentukan pengguna.

Sintaks

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
);

Parameter

  • query_fn [in]
    Fungsi panggilan balik dipanggil saat status permintaan dikueri.

  • free_fn [in]
    Fungsi panggilan balik dipanggil saat permintaan dikosongkan.

  • cancel_fn [in]
    Fungsi panggilan balik dipanggil saat permintaan dibatalkan.

  • extra_state [in, opsional]
    Status ekstra diteruskan ke fungsi di atas.

  • request [out]
    Permintaan umum.

Mengembalikan nilai

Mengembalikan MPI_SUCCESS pada keberhasilan. Jika tidak, nilai yang dikembalikan adalah kode kesalahan.

Di Fortran, nilai pengembalian disimpan dalam parameter IERROR .

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

Keterangan

Nilai yang dikembalikan dari fungsi panggilan balik harus berupa kode kesalahan atau kelas MPI yang valid. Nilai ini dapat berupa nilai pengembalian dari rutinitas MPI apa pun (dengan satu pengecualian yang tercantum di bawah) atau salah satu kelas kesalahan MPI. Untuk program portabel, MPI_ERR_OTHER dapat digunakan; untuk memberikan informasi yang lebih spesifik, buat kelas kesalahan atau kode MPI baru dengan MPI_Add_error_class atau MPI_Add_error_code dan kembalikan nilai tersebut.

Standar MPI tidak jelas pada nilai pengembalian dari rutinitas panggilan balik. Namun, ada catatan dalam standar yang menyiratkan bahwa ini adalah kode kesalahan MPI. Misalnya, halaman 169 baris 46 hingga halaman 170, baris 1 mengharuskan free_fn mengembalikan kode kesalahan MPI yang dapat digunakan dalam fungsi penyelesaian MPI saat kembali MPI_ERR_IN_STATUS.

Satu kasus khusus adalah nilai kesalahan yang dikembalikan oleh MPI_Comm_dup ketika rutinitas panggilan balik atribut mengembalikan kegagalan. Standar MPI tidak jelas tentang nilai apa yang dapat digunakan untuk menunjukkan pengembalian kesalahan. Selanjutnya, rangkaian pengujian Intel MPI menggunakan nilai non-nol untuk menunjukkan kegagalan, dan mengharapkan nilai-nilai ini dikembalikan oleh MPI_Comm_dup ketika rutinitas atribut mengalami kesalahan. Nilai kesalahan tersebut mungkin bukan kode kesalahan atau kelas MPI yang valid. Karena itu, pengguna bertanggung jawab untuk menggunakan kode kesalahan MPI yang valid sebagai imbalan dari panggilan balik atribut, jika kode kesalahan tersebut akan dikembalikan oleh panggilan balik permintaan umum, atau untuk mendeteksi dan mengonversi kode kesalahan tersebut ke kode kesalahan MPI yang valid (ingat bahwa kelas kesalahan MPI adalah kode kesalahan yang valid).

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

Pustaka

Msmpi.lib

DLL

Msmpi.dll

Lihat juga

Fungsi Eksternal MPI

MPI_Grequest_query_function

MPI_Grequest_free_function

MPI_Grequest_cancel_function