Aracılığıyla paylaş


MPI_Dist_graph_create işlevi

Dağıtılmış graf topolojisi bilgilerinin eklendiği yeni bir iletişimciye tanıtıcı döndürür.

Söz dizimi

int WINAPI MPI_Dist_graph_create(
  _In_  MPI_Comm                comm_old,
        _In_range_(>=,0)  int   n,
        _In_reads_opt const int sources[],
        _In_reads_opt const int degrees[],
        _In_opt const int       destinations[],
        _In_opt const int       weights[],
  _In_  MPI_Info                info,
        _In_range_(0,1) int     reorder,
  _Out_ MPI_Comm                *comm_dist_graph
);

Parametreler

  • comm_old [in]
    Topoloji bilgileri (tanıtıcı) olmadan communicator tutamacı.

  • n
    Bu işlemin giden kenarları (negatif olmayan tamsayı) belirttiği kaynak sayısı.

  • kaynaklar[]
    Bu kaynağın giden kenarları (negatif olmayan tamsayılar dizisi) belirttiği n kaynağı içeren dizi.

  • derece[]
    Kaynak düğüm dizisindeki her kaynak düğüm için hedef sayısını belirten dizi (negatif olmayan tamsayı dizisi).

  • destinations[]
    Kaynak dizisindeki kaynak düğümler için hedef düğümler (negatif olmayan tamsayı dizisi).

  • ağırlıklar[]
    Hedef dizisindeki karşılık gelen kenarlar için ağırlıklar (negatif olmayan tamsayı dizisi).

  • bilgi [in]
    İyileştirme veya ağırlıkların yorumlanmasıyla ilgili ipuçları (tutamaç). Şu anda bu değişken dahili olarak kullanılmadığından MPI_INFO_NULL kullanın.

  • Sipariş
    Dereceler yeniden sıralanabilir (doğru) veya değil (yanlış) (mantıksal). Şu anda bu dahili olarak kullanılmaz.

  • comm_dist_graph [out]
    Dağıtılmış graf topolojisi bilgilerinin eklendiği (tanıtıcı) ile iletişimciye tanıtın.

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_DIST_GRAPH_CREATE (COMM_OLD, N, SOURCES, DEGREES, DESTINATIONS, WEIGHTS,
    INFO, REORDER, COMM_DIST_GRAPH, IERROR)
        INTEGER COMM_OLD, N, SOURCES (*), DEGREES (*), DESTINATIONS (*),
    WEIGHTS (*), INFO, COMM_DIST_GRAPH, IERROR
        LOGICAL REORDER

Açıklamalar

Hem kaynaklar hem de hedef dizileri aynı düğümü birden çok kez içerebilir ve düğümlerin hedef veya kaynak olarak listelenme sırası önemli değildir. Benzer şekilde, farklı işlemler aynı kaynak ve hedef düğümlere sahip kenarları belirtebilir. Kaynak ve hedef düğümler comm_old işlem dereceleri olmalıdır. Farklı işlemler farklı sayıda kaynak ve hedef düğümün yanı sıra farklı kaynak ile hedef uçları belirtebilir. Bu, iletişim grafiğinin tam olarak dağıtılmış belirtimini sağlar. Yalıtılmış işlemlere (giden veya gelen kenarı olmayan işlemlere, yani grafik belirtiminde kaynak veya hedef düğüm olarak gerçekleşmeyen işlemlere) izin verilir.

comm_dist_graph işlem sayısı , comm_oldişlem sayısıyla aynıdır. Bu işleve yapılan çağrı topludur.

C veya FORTRAN'da bir uygulama, tüm kenarların aynı ( etkin olarak hayır) ağırlığa sahip olduğunu belirtmek üzere ağırlık dizisi için MPI_UNWEIGHTED sağlayabilir. comm_old tüm süreçleri için değil bazı işlemler için MPI_UNWEIGHTED sağlamak hatalıdır. Böyle bir durumda davranış garanti değildir. Graf ağırlıklıysa, ancak n = 0 ise, MPI_WEIGHTS_EMPTY veya herhangi bir rastgele dizi ağırlıklara geçirilebilir.

Gereksinimler

Ürün

Microsoft MPI v6

Üst bilgi

Mpi.h; Mpif.h

Kitaplık

Msmpi.lib

DLL

Msmpi.dll

Ayrıca bkz.

MPI İşlem Topolojisi İşlevleri

MPI_Dist_graph_create_adjacent

MPI_Dist_graph_neighbors_count

MPI_Dist_graph_neighbors