سؤال

أريد مقارنة شركته تنوي vs. openmp فيما يتعلق بأدائها، ولكن لا يمكن العثور على تحقيق مفصل على الويب.أعتقد أن هناك الكثير من الأشخاص الذين يعانون من شركته تنوي.

أنا أقدم برامجي على Windows، باستخدام Visual Studio 2010، ولا أريد أن نقلها إلى مكان آخر في فترة قصيرة.

إذا كانت عملية النقل ليست مشكلة، وفحما هو الأداء، فما رأيك بهذه الطريقةتين؟

هل كانت مفيدة؟

المحلول

ربما يعتمد ذلك على خوارزمية، ولكن هذا البحث يشير إلى أن شركته تنوي قد يكون أسرع ثم OpenMP:

P> http:// www.CodeProject.com/articles/373305/Visual-cplusplus-11-beta-benchmark-of-parallel-loo

giveacodicetagpre.

نصائح أخرى

على msdn هناك مقارنة كبيرة من الخصائص OpenMP و ConcRT (الأساسية من شركته تنوي):

نموذج OpenMP هو تطابق جيد للغاية للحوسبة عالية الأداء، حيث يتم توزيع المشكلات الحسابية الكبيرة للغاية عبر موارد معالجة كمبيوتر واحد. في هذا السيناريو، تعرف بيئة الأجهزة والمطور يمكن أن يتوقعه بشكل معقول الحصول على وصول حصري إلى موارد الحوسبة عند تنفيذ الخوارزمية.

ومع ذلك، قد لا تكون بيئات الحوسبة الأخرى الأقل مقيدا تطابقا جيدا ل OpenMP. على سبيل المثال، تعد المشاكل العودية (مثل خوارزمية QuickSort أو البحث عن شجرة البيانات) أكثر صعوبة في استخدام OpenMP. يكمل وقت تشغيل التزامن قدرات OpenMP من خلال توفير مكتبة الأنماط الموازية (PPL) ومكتبة الوكلاء غير المتزامنين. على عكس OpenMP، يوفر وقت تشغيل التزامن جدولة ديناميكية تتكيف مع الموارد المتاحة وضبط درجة متواكبة تغيير عبء العمل.

لذلك، العيوب الرئيسية من OpenMP:

  • نموذج شد ثابت.
  • لا يحتوي على آلية إلغاء (عيب كبير جدا، في العديد من إلغاء خوارزمية الموافقة مطلوبة).
  • لا يحتوي على نهج وكيل الموافقة.
  • مشاكل مع استثناءات في رمز Paralel.

إذا كان اهتمامك الوحيد هو الأداء، فما أعتقد أنه حول النهجين غير ذي صلة تماما.هذا سؤال قابل للحل من خلال نهج تجريبي، وليس عن طريق الحجة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top