ما هو جيد الحرة (مفتوحة المصدر) بلاس/LAPACK المكتبة .net (C#)?[مغلقة]

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

سؤال

لدي مشروع مكتوب في C# حيث كنت بحاجة إلى القيام به مختلف الجبرية الخطية العمليات على المصفوفات (مثل لو التعميل).

لأن هذا البرنامج هو أساسا النموذج خلق لتأكيد نظرية C# تنفيذ تكفي (مقارنة وربما أسرع C++ واحدة), ولكن أنا لا تزال ترغب جيد بلاس أو LAPACK المكتبة المتاحة لإنقاذ لي بعض الترميز.

قصة قصيرة طويلة, أي شخص يمكن أن يوصي الحرة/مفتوحة المصدر بلاس أو LAPACK مكتبة للاستخدام مع .الشبكة ؟

مع أطيب التحيات ايجل.

تحديث:وجدت Math.NET العددية اليوم تبدو مثيرة للاهتمام, أي شخص لديه أي خبرة في ذلك ؟

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

المحلول

AMD اكمل هو مجانا تحميل, وإنما هو ثنائي فقط, ليس مفتوح المصدر و الأم رمز, لا .صافي.

الأداء عموما متفوقة على Netlib.org رمز عموما تقريبا نفس إنتل MKL-التي ليست حرة IIRC.

التحميل يتضمن عينة يوضح كيفية ربط C#.أي من استدعاء أي ج أو C++ مكتبة من C#.

مكتبة تنفذ بلاس, LAPACK, FFTs ، RNGs.

http://developer.amd.com/cpu/Libraries/acml/downloads/pages/default.aspx

تحرير الرد على التعليق:

على وحدة المعالجة المركزية Intel, AMD اكمل سوف تؤدي تقريبا وكذلك إنتل MKL, ولكن ذلك يعتمد على الخوارزمية ، مصفوفة الأحجام, عدد النوى ، الذاكرة طوبولوجيا السرعة ، إلخ.الخ.الخ.الأميال الخاص بك قد تختلف.الطريقة الوحيدة لمعرفة ذلك هي تشغيل القياسي الخاص.في بعض الحالات, اكمل أسرع من MKL حتى على Itel الأجهزة.

أي واحد سوف يكون أسرع بكثير من أي "ساذجة" تنفيذ كبيرة المصفوفات.وكلاهما بالحلول استخدام مؤشرات ترابط متعددة على المعالجات متعددة النواة ، وقد اليد أنب لغة التجميع حبات والكثير من ضبط مخبأ السلوكيات على آلات مختلفة.

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

نصائح أخرى

مكتبة الرياضيات DotNumerics نقدمه مجانا / مشروع مفتوح المصدر مكتوب في C # و يحتوي على ترجمة LAPACK، بلاس، وEispack إلى C #.

ووالمعايير الأساسية مثل مكتبة التجسيد البرمجيات (BLIS) هو المعيار الذهبي الحالي للمكتبات بلاس مفتوحة المصدر. https://github.com/flame/blis انها ليست بالسرعة MKL (على الرغم من أن وثيقة) ولكن أسرع من OpenBLAS، شوكة من GotoBLAS الأسطوري، على أساسا كل وحدات المعالجة المركزية (وأسرع بكثير على أحدث أبنية بما في ذلك إنتل وأيه إم دي، وARM). وبالاضافة الى الحفاظ على ذلك.

وACML، المذكورة في جواب آخر، لم يعد موجودا. يستخدم AMD الآن برمجيات المصدر المفتوح كجزء من رزمة البرامج الخاصة بهم ACL (AMD حساب مكتبة). BLIS هو ما هو جزء من ذلك كومة البرنامج: الشبكي: //developer.amd كوم / أيه إم دي وحدة المعالجة المركزية، المكتبات / بلاس مكتبة / .

وCaviat: الملصق هو جزء من مشروع BLIS. موثقة جيدا المطالبات المذكورة أعلاه.

و(تعليق وأضاف في وقت لاحق:.. لم تلاحظ ". NET" لسوء الحظ BLIS غير معتمد حتى الآن بشكل جيد ويندوز)

ولوتز رودر لديه جيدة مفتوحة المصدر ميناء Mapack.Net

وتستخدم في الماضي لمختلف المشاريع، ووجدت أنها سهلة الاستخدام، eary للعمل مع

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