سؤال

هل هناك أي FFT LIB عام متاح للتشغيل على وحدة معالجة الرسومات باستخدام OPENCL؟ بقدر ما تذهب معرفتي ، فإن رمز Apple عينة من قوة Opencl FFT هو الرمز الوحيد المتاح؟

هل توجد أي مكتبة من هذا القبيل لأحجام تحويل اثنين من الطاقة؟ إذا لم يكن الأمر كذلك ، ما مدى سهولة أو صعوبة تعديل عينة Apple Opencl؟

أنا أبحث في تطبيقات معالجة الصور ، مع أحجام التحويل غير القوية ، وسأضطر إلى القيام بمجموعة كاملة من FFTS ، وهي FFT مزجدة.

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

المحلول

أعرف مكتبة OpenCl FFT قيد التطوير حاليًا ، لكنها لا تخطط لوجود أحجام تحويل غير طاقة في الإصدار الأول.

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

نصائح أخرى

جرب CLFFT تم تطويره بواسطة AMD. إنه يهدف إلى بطاقات رسومات AMD ، ولكن يجب أن تعمل على NVIDIA GPU أيضًا. يمكن أن تحول المصفوفات مع radix 2 و 3 و 5 (والمجموعات هناك).

https://github.com/clmathlibraries/clfft

هناك روابط بيثون متاحة

https://github.com/geggo/gpyfft

يمكنك تنزيل بعض عينات رمز opencl بما في ذلك FFT من جناح SHOC القياسي.

يمكن استخدام عمليات الإفراط الفارغة لجعل بيانات الطول التعسفي تتناسب مع خوارزمية FFT من طراز اثنين. النظر في ما إذا كان ذلك سوف يناسب طلبك. زيادة عدد العينات يقلل من "حجم الخطوة" في مجال الإخراج ، مما يعني ارتفاع دقة الإخراج.

OpenMM (https://simtk.org/home/openmm) يحتوي على 3D FFT لـ OpenCl. قد لا يعمل لك مباشرة ، نظرًا لأنه مصمم لحالة محددة: FFTs ثلاثية الأبعاد حيث يكون كل بعد صغيرًا بما يكفي لتخزينه في الذاكرة المحلية (مثل شبكة 100 × 100 × 100). لكنه يدعم أحجام غير الطاقة (Radix 2 و 3 و 4 و 5) ، لذلك قد تكون قادرًا على تكييفه.

Vexcl يوفر تنفيذ FFT لـ OPENCL الذي يقبل تعبيرات المتجهات التعسفية كمدخلات ، ويسمح لأحد بأداء تحويلات متعددة الأبعاد (من أي عدد من الأبعاد) ، ويدعم ناقلات الحجم التعسفي. هنا حلقة الوصل إلى الجزء ذي الصلة من ReadMe.

القي نظرة على APPML-FFT مكتبة. على الرغم من أنه لا يزال لقوة اثنين من التحويلات.

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