pyfft.

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

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

الإعلانات

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

pyfft. العلامات


pyfft. وصف

مكتبة FFT ل Pycuda و Pyopencl Pyfft هي وحدة بيثون تحتوي على تطبيق FFT المزعج، ومتينة من تطبيق OpenCL الخاص ب Apple. أيديولوجية OpenCL في بناء رمز النواة على خرائط الذبابة تماما على Pycuda / Pyopencl، ومجموعة متنوعة من محركات القوالب في بيثون تجعل جيل التعليمات البرمجية أبسط. لقد استخدمت محرك قالب Mako، ببساطة بسبب التفضيل الشخصي. يمكن تغيير الكود بسهولة لاستخدام أي محرك آخر. إنس: "CUDA" جزء من Pyfft يتطلب إصدار التطوير الحالي من Pycuda (0.94). أولا، استيراد Numpy و Incredion Creation واجهة من Pyfft (دعونا نستخدم CUDA في هذا المثال): >>> من خطة استيراد Pyfft.cuda >>> استيراد Numpysince نحن نستخدم CUDA، يجب تهيئةها قبل استدعاء أي وظائف CUDA ( بشكل افتراضي، ستستخدم الخطة السياق الحالي، ولكن هناك إمكانيات أخرى؛ انظر الدخول المرجعي للخطة لمزيد من المعلومات). بالإضافة إلى ذلك، سنحتاج إلى وحدة GPUARRAY لتمرير البيانات من وإلى GPU: >>> من Pycuda.Tools استيراد Make_Default_Context >>> استيراد Pycuda.gpuarray كما GPUArray >>> استيراد Pycuda.Driver As Cuda >>> Cuda.init ( ) >>> السياق = make_default_context () ثم يجب إنشاء الخطة. الإبداع ليس سريعا جدا، وذلك أساسا بسبب سرعة التجميع. ولكن لحسن الحظ، تعثرت Pycuda و Pyopencl ذاكرة التخزين المؤقت للمصادر، لذلك إذا كنت تستخدم نفس الخطة لكل تشغيل برنامجك، فسيتم إنشاء سريع للغاية. >>> الخطة = الخطة ((16، 16)) الآن، دعونا نستعد صفيف اختبار بسيط ومحاولة تنفيذ الخطة فوقه: >>> البيانات = numpy.ones ((16، 16)، dtype = numpy.complex64)> >> gpu_data = gpuarray.to_gpu (البيانات) >>> plan.execute (gpu_data) >>> النتيجة = gpu_data.get () >>> نتيجة الطباعة # Doctest: + Ellipsis ... ] كما هو متوقع، حصلنا على صفيف مع أول غير عنصر -Zero، يساوي حجم الصفيف. دعونا الآن أداء التحويل العكسي: >>> plan.execute (gpu_data، معكوس = true) >>> النتيجة = gpu_data.get () منذ أن البيانات غير عدد صحيح، لا يمكننا ببساطة قارنها. سنقوم بحساب الخطأ بدلا من ذلك. >>> error = numpy.abs (numpy.sum (numpy.abs (البيانات) - numpy.abs (نتيجة)) / البيانات) >>>> خطأ <1etruethat-6


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

slowpc.

مكتبة قابلة للتطوير لحسابات مشكلة Eigenvalue ...

157

تحميل