2010-11-19 19 views
8

क्या ओपनसीएल का उपयोग कर GPU पर चलने के लिए कोई सामान्य एफएफटी lib उपलब्ध है? जहां तक ​​मेरा ज्ञान जाता है, दो ओपनसीएल एफएफटी के लिए ऐप्पल नमूना कोड केवल इतना ही कोड उपलब्ध है?ओपनसीएल एफएफटी lib?

किसी भी तरह के पुस्तकालय आकार बदलने गैर बिजली के- दो के लिए मौजूद है? यदि नहीं, तो Apple OpenCL नमूना को संशोधित करना कितना आसान या मुश्किल है?

मैं आकार बदलने, इमेज प्रोसेसिंग अनुप्रयोगों से देख रहा हूँ के साथ गैर बिजली के- दो, और मैं FFTs की एक पूरी गुच्छा, एक बैच FFT करना होगा।

उत्तर

2

मुझे ओपनसीएल एफएफटी लाइब्रेरी का पता है जो वर्तमान में विकास में है, लेकिन वे पहली रिलीज में गैर-पावर-टू-दो ट्रांसफॉर्म आकार रखने की योजना नहीं बनाते हैं।

क्या आप अपने आवेदन के बारे में कोई जानकारी प्रदान कर सकते हैं? यह उस सुविधा के लिए प्राथमिकता प्राप्त करने में मदद कर सकता है यदि यह बहुत से लोग उपयोग कर सकते हैं।

+0

क्या आप यह साझा करेंगे कि यह कौन सी लाइब्रेरी है? – rotoglup

+0

@rotoglup ऊपर मेरी टिप्पणी एएमडी की clAmdFft लाइब्रेरी का जिक्र कर रही थी। मैं कई साल पहले 1.0 रिलीज में शामिल था, जिसने 2 की गैर-शक्तियों का समर्थन नहीं किया, लेकिन मुझे लगता है कि बाद के रिलीज में कुछ अन्य प्रमुख कारक शामिल हैं। http://developer.amd.com/tools-and-sdks/heterogeneous-computing/amd-accelerated-parallel-processing-math-libraries/ –

2

आप SHOC benchmark suite से FFT सहित कुछ OpenCL कोड नमूने डाउनलोड कर सकते हैं।

+0

बाइंडिंग, धन्यवाद – Neo

+0

अच्छा कर रहे हैं लेकिन यह केवल 1 डी FFTs बिजली के- दो फिर भी बहुत उपयोगी है, ..., लेकिन! इन पुस्तकालयों में से एक को स्वयं कोडिंग किया गया। दिग्गजों के कंधों पर निर्माण करने में खुशी हुई :) –

+0

अब तक कोई भाग्य है ?? .... – Neo

1

OpenMM (https://simtk.org/home/openmm) OpenCL के लिए एक 3 डी FFT में शामिल है। यह आपके लिए सीधे काम नहीं कर सकता है, क्योंकि यह एक विशिष्ट मामले के लिए डिज़ाइन किया गया है: 3 डी एफएफटी जहां प्रत्येक आयाम स्थानीय स्मृति में संग्रहीत करने के लिए पर्याप्त छोटा है (उदाहरण के लिए 100x100x100 ग्रिड)। लेकिन यह गैर-शक्ति-दो आकारों (रेडिक्स 2, 3, 4, और 5) का समर्थन करता है, ताकि आप इसे अनुकूलित कर सकें।

0

APPML-FFT पुस्तकालय पर एक नज़र डालें। हालांकि यह अभी भी दो परिवर्तनों की शक्ति के लिए है।

2

अशक्त-गद्दी एक शक्ति-की-दो FFT एल्गोरिथ्म के लिए मनमाने ढंग से-लंबाई डेटा फिट बनाने के लिए इस्तेमाल किया जा सकता। विचार करें कि क्या यह आपके आवेदन के अनुरूप होगा। नमूने की संख्या में वृद्धि आउटपुट डोमेन में "चरण आकार" घट जाती है, जिसका अर्थ है उच्च आउटपुट रिज़ॉल्यूशन।

1

VexCL, कि इनपुट के रूप में मनमाने ढंग से वेक्टर भाव को स्वीकार करता है OpenCL के लिए FFT के एक कार्यान्वयन प्रदान करता है एक (आयाम के किसी भी संख्या का) बहुआयामी रूपांतरण प्रदर्शन करने के लिए अनुमति देता है, और मनमाने ढंग से आकार वैक्टर का समर्थन करता है। इसके रीडमे के प्रासंगिक भाग में link है।

3

एएमडी द्वारा विकसित सीएलएफएफटी आज़माएं। इसका उद्देश्य एएमडी ग्राफिक कार्ड के लिए है, लेकिन एनवीडिया जीपीयू पर भी काम करना चाहिए। यह 2, 3 और 5 (और संयोजनों को बंद) के रेडिक्स के साथ सरणी बदल सकता है।

https://github.com/clMathLibraries/clFFT

वहाँ अजगर उपलब्ध

https://github.com/geggo/gpyfft

+0

अच्छा, अब यह रेडिक्स 7, 11 और 13 का भी समर्थन करता है। – marcin

संबंधित मुद्दे