مشاركة عبر


MPI_Type_create_subarray الدالة

يحدد نوع بيانات جديدا يتكون من مجموعة فرعية n-dimensional لصفيف n-dimensional. يمكن تحديد موقع الصفيف الفرعي في أي مكان داخل الصفيف الكامل. يمكن أن يكون أي حجم غير صفري طالما أنه مضمن بالكامل داخل الصفيف.

بناء الجملة

int MPIAPI MPI_Type_create_subarray(
        int                   ndims,
        _In_count_(ndims) int array_of_sizes[],
        _In_count_(ndims) int array_of_subsizes[],
        _In_count_(ndims) int array_of_starts[],
        int                   order,
        MPI_Datatype          oldtype,
  _Out_ MPI_Datatype          *newtype
);

المعلمات

ndims

عدد أبعاد الصفيف وعدد العناصر في معلمات array_of_sizesarray_of_subsizesarray_of_starts .

array_of_sizes

عدد العناصر في كل بعد من أبعاد الصفيف الكامل.

array_of_subsizes

عدد العناصر في كل بعد من أبعاد subarray.

array_of_starts

فهرس البداية للفئة الفرعية في كل بعد.

الترتيب

ترتيب الأبعاد.

MPI_ORDER_C

الترتيب الرئيسي للصف الذي يتم فيه تخزين جميع عناصر صف معين بشكل متجاورة.

MPI_ORDER_FORTRAN

الترتيب الرئيسي للعمود الذي يتم فيه تخزين جميع عناصر عمود معين بشكل متجاورة.

ملاحظة

يمكن لكل من برامج C و Fortran استخدام أي من الطلبين. تعكس القيم المعرفة الاستخدام النموذجي.

 

النوع القديم

يحدد نوع البيانات لكل عنصر.

نوع جديد [خارج]

عند الإرجاع، يحتوي على مقبض MPI_Datatype يمثل نوع البيانات الجديد.

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

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

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

Fortran

    MPI_TYPE_CREATE_SUBARRAY(NDIMS, ARRAY_OF_SIZES, ARRAY_OF_SUBSIZES, ARRAY_OF_STARTS, ORDER, OLDTYPE, NEWTYPE, IERROR)
        NDIMS, ARRAY_OF_SIZES, ARRAY_OF_SUBSIZES, ARRAY_OF_STARTS, ORDER, OLDTYPE, NEWTYPE, IERROR

الملاحظات

ترجع الدالة خطأ إذا تجاوز حجم الصفيف الفرعي حجم الصفيف. لكل بعد i، يجب أن تكون قيمة المعلمة array_of_subsizes[i] أكبر من معلمة array_of_sizes[i] أو مساوية لها أو مساوية لها.

ترجع الدالة خطأ إذا بدأت الدالة الفرعية أو انتهت خارج حدود الصفيف. لأي بعد i، يجب أن تكون قيمة المعلمة صفرا ويجب أن يكون مجموع معلمات array_of_starts[i] array_of_subsizes [i] أقل من قيمة المعلمة array_of_sizes[i] أو مساوية لها. على سبيل المثال، إذا كان السجل الفرعي هو نفس حجم الصفيف، فيجب أن يبدأ الصفيف الفرعي عند صفر الفهرس. يفترض أن تتم فهرسة الصفائف بدءا من الصفر.

المتطلبات

منتج

حزمة HPC Pack 2012 MS-MPI القابلة لإعادة التوزيع، حزمة HPC Pack 2008 R2 MS-MPI القابلة لإعادة التوزيع، حزمة HPC Pack 2008 MS-MPI القابلة لإعادة التوزيع أو حزمة HPC Pack 2008 للعميل

الرأس

Mpi.h؛ Mpif.h

المكتبة

Msmpi.lib

Dll

Msmpi.dll

راجع أيضًا

وظائف نوع بيانات MPI