إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
يحدد نوع بيانات جديدا يتكون من مجموعة فرعية 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 |