سؤال

أنا أبحث عن مكتبة Opencl جيدة لـ Python ، مع وثائق جيدة. حاولت البحث عن بعض ... لكنني لم أجد واحدة جيدة بما فيه الكفاية.

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

المحلول

يبدو أن الخيار الأكثر شعبية والأفضل موثقة بيوبنكل. يدعي أنه غلاف كامل لـ OpenCl ويبدو الوثائق جيدًا.

نصائح أخرى

كلاهما Clyther و بيوبنكل تبدو موثقة لي بشكل جيد.

بيكل هو ctypes ملزمة لـ OpenCl (استضافتها على Bitbucket)

هدفها الأساسي بسيط: التفاف Opencl بطريقة يمكن أن تستخدمها العديد من تطبيقات Python كأفضل. يتم اختباره حاليًا على Cpython 2. {5،6،7} و 3.2 و Pypy 1.5. من المعروف أنه لا يعمل إلى حد كبير على Jython ، التي لا تزال مكتبة Ctypes غير ناضجة.

لتحقيق ذلك ، نتجنب الوحدات النمطية والتبعيات خارج المكتبة القياسية. من الناحية المثالية ، يجب أن تعمل الأشياء مثل المصفوفات numpy وصور PIL فقط ، لكن لا ينبغي أن تكون مطلوبة

إنه جديد جدًا حاليًا. لقد كنت ألعب معها مؤخرًا وهي تعمل بشكل جيد. لم يتم القيام به مقارنة مع Pyopencl ، ولكن يبدو أن الأداء معقول تمامًا

لم أعمل من أجلي مع OPENCL 1.0 من OS X 10.6 (و AMD Radeon 5870 ، انظر هنا) ، لكنه يعمل بشكل مثالي أقل من 10.7 و Opencl 1.1

بالنسبة للوثائق ، إنها روابط مباشرة إلى حد ما لمكتبات C ، وبالتالي فإن أي وثائق ستطبق. ايضا "مغامرات في بيوبنكل" جيد ، وينطبق على جميع الروابط تقريبًا

نحن نطور opencl4py, ، روابط مستوى أعلى. يستخدم هذا المشروع CFFI ، بحيث يعمل على Pypy.

القضية الرئيسية التي واجهناها مع Pyopencl هي أن "استيراد pyopencl" يقوم بتهيئة opencl ويأخذ الذاكرة الافتراضية بأكملها في حالة سائق NVIDIA ، والمنع من التقاط الصحيح وتعطيل المعالجة المتعددة بشكل فعال (نعم ، ندعي أن استخدام pyopencl يعطل المعالجة المتعددة على الأقل مع nvidia ). يستخدم OpenCl4py تهيئة Opencl كسول ، وحل هذا "استيراد الجحيم".

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

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