pycudafft.

مكتبة fft for pycuda
التحميل الان

pycudafft. الترتيب والملخص

الإعلانات

  • Rating:
  • رخصة:
  • MIT/X Consortium Lic...
  • السعر:
  • FREE
  • اسم الناشر:
  • Bogdan Opanchuk
  • موقع ويب الناشر:
  • http://github.com/Manticore

pycudafft. العلامات


pycudafft. وصف

مكتبة fft for pycuda Pycudafft هي مكتبة FFT ل Pycuda، مكتوبة في Python.developer تعليقات لحظة كتابة هذا، شهدت Pycuda مشاكل مع كوف الناجم عن القرارات المعمارية ل NVIDIA. نتيجة لذلك، كتب هذا البرنامج من البرنامج. أنه يحتوي على تنفيذ FFT المزعج، ومتينة من تطبيق OpenCL في Apple. أيديولوجية OpenCL في بناء رمز النواة على خرائط الذبابة تماما على Pycuda، ومجموعة متنوعة من محركات القوالب في بيثون تجعل جيل التعليمات البرمجية أبسط. لقد استخدمت محرك قالب Mako، ببساطة بسبب التفضيل الشخصي. يمكن تغيير الكود بسهولة لاستخدام أي محرك آخر. في إضافة، يحتوي مستودع المستشار على المجمع، الذي يضيف دعم الدفعات لأزرار التعيين ورسم الخرائط إلى Pycuda. تمت إضافتها لأغراض الاختبار ولن يتم دعمها بنشاط. في بداية الاستخدام بسيط للغاية. أولا، استيراد Pycudafft و Nutppy: >>> استيراد Pycuda.autoinit >>> استيراد Pycuda.gpuarray كما gpuarray >>> من Pycudafft استيراد Fftplan >>> استيراد Numpythen يجب إنشاء الخطة. الإبداع ليس سريعا جدا، وذلك أساسا بسبب سرعة التجميع. ولكن لحسن الحظ، تعتمد مؤشرات التخزين المؤقت في Pycuda المصادر، لذلك إذا كنت تستخدم نفس الخطة لكل تشغيل برنامجك، فسيتم إنشاء سريع جدا. >>> خطة = fftplan (16، 16) الآن، دعونا نستعد صفيف اختبار بسيط ومحاولة تنفيذ الخطة فوقه: >>> البيانات = numpy.ones ((16، 16)، dtype = numpy.complex64) >>> gpu_data = gpuarray.to_gpu (البيانات) >>> plan.execute (gpu_data) >>> النتيجة = gpu_data.get () >>> نتيجة الطباعة # Doctest: + Ellipsis ... ] كما هو متوقع، حصلنا على صفيف مع أول غير صفر عنصر، يساوي حجم الصفيف. دعونا الآن أداء التحويل العكسي. >>> plan.execute (gpu_data، معكوس = صحيح) >>> النتيجة = gpu_data.get () لأن البيانات غير عدد صحيح، لا يمكننا ببساطة قارنها. سنقوم بحساب الخطأ بدلا من ذلك. >>> error = nuthpy.sum (numpy.abs (البيانات) - numpy.abs (النتيجة) / 256 >>> خطأ <1E-6 Truethat جيدة بما فيه الكفاية للأرقام الدقيقة واحدة. الالتحاق fftplan (x، y = none، z = none، split = false، dtype = numpy.complex64) x، y، z: حجم المشكلة. إذا لم يتم تحديد z و / أو y، فسيتم إنشاء خطة ثنائية أو 1D. تحذير: 2D وخطط ثلاثية الأبعاد مع y == 1 أو z == 1 غير مدعوم في الوقت الحالي. الحالة التالية: إذا كان هذا صحيح، ستدعم الخطة صفائف بيانات منفصلة بأجزاء حقيقية وخيالية بدلا من arriays.dtype: نوع البيانات استعمال. في الوقت الحالي Compleary64 فقط (دقة واحدة) يتم دعمها. Peplan.Execute () تنفيذ خطة لتنفيذ البيانات المشددة. القامل: تنفيذ (data_in، data_out = لا شيء، معكوس = كاذبة، دفعة = 1) data_in: admail array.data_out: الإخراج مجموعة مصفوفة. إذا لم يتم تحديدها، فسيتم تنفيذ الإعدام في مكانه وسيتم تخزين النتائج في Data_in.inverse: إذا كان هذا صحيح، سيتم إجراء تحويل معكوس. يجب أن تكون موجودة على التوالي في data_in.fftplan.executeSplit () خطة التنفيذ لتقسيم البيانات الخاصة بتقسيم البيانات. قوانين: Executesplit (data_in_re، data_in_im، data_out_re = لا شيء، data_out_im = لا شيء، معكوس = كاذبة، دفعة = 1) data_in_re، data_in_im: صفيفات الإدخال مع أجزاء البيانات الحقيقية والخيلة المقابلة. data_out_re، data_out_im: صفائف الإخراج. إذا لم يتم تحديدها، فسيتم تنفيذ التنفيذ في مكانه وسيتم تخزين النتائج في Data_in_re و Data_in_im.inverse: إذا كان هذا صحيح، فسيتم إجراء تحويل معكوس. Batch: عدد مجموعات البيانات يجب أن تكون موجودة على التوالي في data_in. متطلبات: بيثون


pycudafft. برامج ذات صلة

ccnx.

المسامين المضيفين مع المحتوى المسمى ...

194

تحميل