تحويل الجبر الخطي gsl لاستخدامه في scalapack أو مكتبة المصفوفة المتوازية الأخرى

StackOverflow https://stackoverflow.com/questions/9386113

  •  28-10-2019
  •  | 
  •  

سؤال

لدي رمز مضمّن بعمق في حساب مصفوفة مكتبة GNU العلمية (GSL) ، والحساب الرئيسي لهذا الرمز هو حل نظام كبير من المعادلات الخطية التي تستغرق وقتًا طويلاً جدًا في التسلسل ومع وظائف GSL و BLAS ، هل هناكطريقة لموازنة هذا الحساب أو تحويله للاستخدام في مكتبة موازية بالفعل مثل ScaLAPACK؟

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

المحلول

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

أقترح استخدام UMFPACK لأنه يتطلب أقل قدر من العمل لتنفيذه لأنه لا يتطلب منك وضع بياناتك في هياكلها.

ملاحظة حول الشلل: إذا كانت التعليمات البرمجية الخاصة بك مسلسلة حاليًا ، فإن الانتقال إلى برنامج حل متوازي ليس بالأمر السهل. من الممكن أن يكون من السهل تنفيذ حزمة متعددة الخيوط ، لكن ليس لدي خبرة كبيرة في البرامج المترابطة. بالإضافة إلى ذلك ، فإن المحاليل المباشرة المتوازية (الذاكرة الموزعة) ليست كلها فعالة ، لأن كل معالج يحتاج إلى نسخته الخاصة من المصفوفة الكاملة ، ومن الأفضل استخدام طرق تكرارية.

قد يكون من المفيد تقديم مزيد من التفاصيل: ما هي المدة الزمنية؟ هل تحتاج إلى المعكوس لسبب ما ، أم أنك تحل نظام معادلات فقط؟

نصائح أخرى

هل جربت Intel MKL؟يتضمن إصداراته المتوازية من وظائف blas.آخر مرة حاولت فيها ، إنها سريعة جدًا.ولكن سيكون من الأسهل أيضًا الإجابة إذا كنت تقدم معلومات عن حجم المصفوفة ، ولكن طالما أنك تقوم بتشغيل x64 ، فإن العديد من وحدات المعالجة المركزية / النوى ومع الكثير من ذاكرة الوصول العشوائي ، حسنًا ، لا يهم حقًا إذن.ص>

هناك خيار آخر وهو nVidia CUDA.واجهتهم تشبه blas ، لكنها في الواقع أبطأ من MKL ، ولا تزال أسرع من المسلسل.ربما كنت قد جربتها على بطاقة قديمة ، لكنك تحتاج على الأقل 200 وحدة تدفق GPU لتسميتها مفيدة.

تحرير: مصفوفات تلك الأحجام تتجاوز خبرتي.

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