مشاركة عبر


MPI_Dist_graph_create الدالة

إرجاع مؤشر إلى موصل جديد يتم إرفاق معلومات مخطط الرسم البياني الموزعة به.

بناء الجملة

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

المعلمات

  • comm_old [in]
    مقبض الموصل بدون معلومات الطوبولوجيا (المقبض).

  • n
    عدد المصادر التي تحدد لها هذه العملية الحواف الصادرة (عدد صحيح غير سالب).

  • المصادر[]
    صفيف يحتوي على مصادر n التي يحدد هذا المصدر الحواف الصادرة لها (صفيف الأعداد الصحيحة غير السالبة).

  • الدرجات[]
    صفيف يحدد عدد الوجهات لكل عقدة مصدر في صفيف العقدة المصدر (صفيف الأعداد الصحيحة غير السالبة).

  • وجهات[]
    العقد الوجهة للعقد المصدر في صفيف المصادر (صفيف الأعداد الصحيحة غير السالبة).

  • الأوزان[]
    أوزان الحواف المقابلة في صفيف الوجهات (صفيف من الأعداد الصحيحة غير السالبة).

  • معلومات [in]
    تلميحات حول تحسين أو تفسير الأوزان (مقبض). تستخدم حاليا MPI_INFO_NULL حيث لا يتم استخدام هذا المتغير داخليا.

  • اعاده ترتيب
    قد تتم إعادة ترتيب الرتب (صحيح) أو لا (خطأ) (منطقي). حاليا لا يتم استخدام هذا داخليا.

  • comm_dist_graph [خارج]
    التعامل مع الموصل مع معلومات تخطيط الرسم البياني الموزعة المرفقة (المقبض).

القيمة المُرجعة

إرجاع MPI_SUCCESS عند النجاح. وإلا، فإن القيمة المرجعة هي رمز خطأ.

في Fortran، يتم تخزين القيمة المرجعة في المعلمة IERROR .

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

الملاحظات

قد تحتوي صفائف المصادروالوجهات على نفس العقدة أكثر من مرة، ولا يعد الترتيب الذي يتم به سرد العقد كوجهات أو مصادر مهما. وبالمثل، قد تحدد العمليات المختلفة حواف بنفس العقد المصدر والوجهة. يجب أن تكون العقد المصدر والوجهة هي صفوف معالجة comm_old. قد تحدد العمليات المختلفة أعدادا مختلفة من العقد المصدر والوجهة، بالإضافة إلى مصدر مختلف لحواف الوجهة. يسمح هذا بمواصفات موزعة بالكامل للرسم البياني للاتصال. يسمح بالعمليات المعزولة (العمليات التي لا توجد بها حواف صادرة أو واردة، أي العمليات التي لا تحدث كعقدة مصدر أو وجهة في مواصفات الرسم البياني).

عدد العمليات في comm_dist_graph مطابق لعدد العمليات في comm_old. استدعاء هذه الدالة جماعي.

في C أو FORTRAN، يمكن للتطبيق توفير MPI_UNWEIGHTED لصفيف الأوزان للإشارة إلى أن جميع الحواف لها نفس الوزن (لا) بشكل فعال. من الخطأ توفير MPI_UNWEIGHTED لبعض عمليات comm_old وليس جميعها. السلوك في مثل هذه الحالة غير مضمون. إذا كان الرسم البياني مرجحا، ولكن n = 0، فقد يتم تمرير MPI_WEIGHTS_EMPTY أو أي صفيف عشوائي إلى الأوزان.

المتطلبات

منتج

Microsoft MPI v6

الرأس

Mpi.h؛ Mpif.h

المكتبة

Msmpi.lib

Dll

Msmpi.dll

راجع أيضًا

وظائف طبولوجيا عملية MPI

MPI_Dist_graph_create_adjacent

MPI_Dist_graph_neighbors_count

MPI_Dist_graph_neighbors