Bagikan melalui


MSMPI_Waitsome_interruptible (Fungsi MSMPI_Waitsome_interruptible)

Menunggu hingga setidaknya salah satu operasi yang terkait dengan handel aktif dalam daftar telah selesai, atau panggilan terganggu oleh utas lain yang memanggil MSMPI_Queuelock_acquire.

Sintaks

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

Parameter

  • incount
    Jumlah permintaan dalam array array_of_requests.

  • array_of_requests
    Array handel permintaan operasi untuk menunggu penyelesaian. Jika handel permintaan dialokasikan oleh fungsi komunikasi yang tidak diblokir, maka itu dibatalkan alokasinya, dan handel terkait diatur ke MPI_REQUEST_NULL.

  • outcount [out]
    Jumlah permintaan yang ditentukan dalam parameter array_of_requests yang selesai dan jumlah elemen dalam array array_of_indices dan array_of_statuses .

    Jika array_of_requests tidak berisi handel aktif, maka fungsi segera kembali dengan parameter outcount diatur ke MPI_UNDEFINED.

    Jika fungsi ini terganggu sebelum permintaan selesai, maka panggilan kembali dengan parameter outcount diatur ke nol.

  • array_of_indices
    Mengembalikan indeks dalam parameter array_of_requests operasi yang selesai. Indeks array berbasis nol di C dan berbasis satu di Fortran.

  • array_of_statuses
    Mengembalikan status operasi yang selesai. Elemen array ini sesuai dengan elemen array array_of_indices .

Menampilkan nilai

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

Di Fortran, nilai yang dikembalikan disimpan dalam parameter IERROR .

Jika fungsi mengembalikan kesalahan selain MPI_ERR_IN_STATUS, fungsi tidak memperbarui bidang kesalahan status dalam parameter array_of_statuses .

Keterangan

Dalam lingkungan multi-utas, pengguna harus mendapatkan kunci MPI Microsoft global dengan menggunakan fungsi MSMPI_Queuelock_acquire sebelum mereka memanggil MSMPI_Waitsome_interruptible. Fungsi ini terganggu ketika utas lain memanggil fungsi MSMPI_Queuelock_acquire untuk mengakses pustaka MPI.

Fungsi ini adalah ekstensi untuk standar.

Persyaratan

Produk

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

Header

Mpi.h

Pustaka

Msmpi.lib

DLL

Msmpi.dll

Lihat juga

Fungsi Titik ke Titik MPI

MSMPI_Lock_queue

MSMPI_Queuelock_acquire

MSMPI_Queuelock_release

MPI_Waitsome