2015-06-30 8 views
5

क्या एसओसी प्रोटोटाइप बोर्ड पर किसी उपयोगकर्ता द्वारा डिज़ाइन की गई प्रणाली पर ओपनसीएल चलाने के लिए संभव है? अधिक विशिष्ट होने के लिए, मेरे पास ज़ेडबॉर्ड (Xilinx Zynq) है जिसमें दोहरी एआरएम कोर और प्रोग्राममेबल लॉजिक (पीएल) क्षेत्र है। अगर मैं अपनी खुद की एक सरल प्रणाली तैयार करता हूं जिसमें तर्क क्षेत्र, एआरएम कोर और एएक्सआई इंटरकनेक्ट में लागू एक वीडियो प्रसंस्करण त्वरक है, तो मुझे इस सरल प्रणाली के लिए ओपनसीएल समर्थन प्रदान करने के लिए क्या करना है? (इस सरल प्रणाली में, एआरएम कोर "होस्ट" हो सकता है और वीडियो प्रसंस्करण त्वरक "डिवाइस" हो सकता है)।एसओसी प्रोटोटाइप बोर्ड पर कस्टम सिस्टम के लिए ओपनसीएल

मैं एक छात्र हूं और मेरे पास ओपनसीएल के बारे में केवल कुछ बुनियादी ज्ञान है। मैंने अपने प्रश्न के बारे में शोध किया है और केवल खुद को भ्रमित कर दिया है। एसओसी के लिए ओपनसीएल समर्थन प्रदान करने के लिए क्या चीजें हैं? मैं समझता हूं कि यह एक बड़ी परियोजना हो सकती है, लेकिन मुझे एक दिशानिर्देश की आवश्यकता है जहां शुरू करना है और कैसे आगे बढ़ना है।

+0

सुनिश्चित नहीं है कि यह मदद करता है, लेकिन कम से कम * एआरएम-आधारित प्रोसेसर हैं जिनके लिए ओपनसीएल कार्यान्वयन मौजूद हैं: http://www.ziilabs.com/products/software/opencl.php – Marco13

उत्तर

1

मुझे इस सरल प्रणाली के लिए ओपनसीएल समर्थन प्रदान करने के लिए क्या करना है?

एक ओपनसीएल मंच लागू करें जो या तो आपके एआरएम सीपीयू या एफपीजीए (या दोनों) का उपयोग करता है। मैं कहूंगा कि आपके लिए बहुत असंभव है; एआरएम निश्चित रूप से सीपीयू के लिए एक पेशकश करेगा यदि यह आसान था (और उनके पास निश्चित इंजीनियरों/कंप्यूटर वैज्ञानिकों को नियोजित करने के लिए वित्तीय साधन हैं), और एफपीजीए पर त्वरक को लागू करने के लिए एफपीजीए विकास के साथ-साथ संकलक सिद्धांत के गहन ज्ञान की आवश्यकता होती है और सिस्टम डिजाइन में अनुभव। मैं मतलब ध्वनि नहीं करना चाहता, लेकिन आपको लगता है कि इनमें से कोई भी तीन नहीं है।

आपने पूछा जहां शुरू किया गया था; मैं बस एक पहला त्वरक लिखने की सलाह देता हूं उदा। संख्याओं का एक वेक्टर जोड़ता है; जैसे ही आपके पास है, आपके पास अपने कार्य का एक स्पष्ट विचार होगा।

यदि आप किसी संदर्भ को देखना चाहते हैं: Ettus USRP E310 एक zynq- आधारित SDR डिवाइस है। एटस में आरएफएनओसी नामक एक तकनीक है, जो allows users to write their own blocks to push data through है। ध्यान दें कि इसने कुछ इंजीनियरों को लिया और शुरू करने के लिए काफी समय लगा। ध्यान दें कि ओपनसीएल को एफपीजीए कार्यान्वयन में परिवर्तित करने वाली किसी चीज को लागू करने से कहीं अधिक आसान है।

+0

आपकी प्रतिक्रिया के लिए धन्यवाद। आप सही हैं मेरे पास बहुत कम ज्ञान है, मैं एक अंडरग्रेड छात्र हूं और बस शुरू करना चाहता हूं। आपने कहा "एक ओपनसीएल मंच लागू करें"; पोकल (www.portablecl.org) की तरह कुछ भी मदद करेगा? – Haq100

+0

यह जनशक्ति की तुलना में ज्ञान की एक समस्या कम है - एक कामकाजी ओपनसीएल कार्यान्वयन होने से डेवलपर कई लोग होते हैं। आप निश्चित रूप से सामान्य उद्देश्य सीपीयू ओपनसीएल प्लेटफॉर्म का उपयोग पोक्ल जैसे कर सकते हैं, लेकिन यह वास्तव में आपको महत्वपूर्ण त्वरण नहीं देगा जब तक कि आपका ओपनसीएल-एल्गोरिदम इन प्लेटफार्मों के गुणों को बहुत अच्छी तरह से मेल नहीं खाता। आम तौर पर, मेरा विश्वास करो जब मैं कहता हूं कि एआरएम वह नहीं है जिसे आप काम करना चाहते हैं - यह एक ठोस कारक से स्मार्ट फोन में जो मिलता है उससे धीमा है। –

+0

मैं यह जोड़ना चाहता हूं कि Xilinx के पास Xynq के लिए ओपनसीएल कार्यान्वयन भी है। –

0

एआरएम ओपनसीएल एसडीके आज़माएं। ज़ेडबोर्ड में एआरएम ए 9 सीपीयू है, इसमें नीयन सिमड वेक्टर यूनिट http://www.arm.com/products/processors/technologies/neon.php होना चाहिए जो ओपनसीएल चला सकता है। http://www.arm.com/products/multimedia/mali-technologies/opencl-for-neon.php देखें।

ज़ेडबोर्ड को ओपनसीएल अनुरूप मंच https://www.khronos.org/conformance/adopters/conformant-products#opencl के रूप में सूचीबद्ध नहीं किया गया है। तो एआरएम चालक काम नहीं करेगा एक मौका है।

शुभकामनाएं!

+1

मुझे पता नहीं था कि ए 9 कवर किया गया था! अच्छा। हालांकि, अगर आपको एक zynq मिला है और एआरएम पर आपकी संख्या क्रंचिंग कर रही है, तो आप कुछ गलत कर रहे हैं ... –

+2

Xilinx Zynq के लिए ओपनसीएल कार्यान्वयन प्रदान करता है। –

+0

@buttifulbuttefly जो कमाल है, लेकिन यह क्या करता है? एफपीजीए पर एक विशिष्ट वेक्टर प्रो लागू करें? –

1

यदि आपके पास Xilinx टूल तक पहुंच है: विवाडो एचएलएस 15.1 सिस्टम संस्करण को OpenCL कर्नेल संकलित करना चाहिए। इसे एसडीएकल टूल सूट में भी शामिल किया जाएगा।

स्रोत: UG973: Vivado Design Suite User Guide Release Notes, Installation,and Licensing

एक वैकल्पिक Altera का उपयोग करने जा रहा हो सकता है। वे Altera चक्रवात वी SoC जो Xilinx Zynq उपकरणों के बराबर है के लिए कुछ अच्छे उदाहरण देते हैं (यह भी शामिल एआरएम कॉर्टेक्स ए 9-): AlteraSDK for OpenCL

1

मैं भी एक छात्र हूँ और मेरे वर्तमान परियोजना भी इसी तरह के दिशा में चल रहा है, मैंने जेडबोर्ड पर पीओसीएल नामक ओपनक्ल का एक संस्करण सफलतापूर्वक स्थापित किया है, यह सफलतापूर्वक ज़ेडबोर्ड के हाथ सीपीयू का पता लगाता है। पॉकल स्थापित करने के लिए, आपको llvm और अन्य चीजों की भीड़ की आवश्यकता है।लेकिन बुनियादी कदम pocl zedboard पर उठना नीचे दिए गए हैं: -

  1. स्थापित कर रहा है pocl:

http://www.hosseinabady.com/install-pocl-opencl

  1. चल उदाहरण: http://www.hosseinabady.com/embedded-system-by-examples/opencl_embedded_system/opencl-vector-addition

  2. बहुत निर्भरता: आसानी से हल किया जा सकता है

लेकिन LLVM आप pocl के लिए 3.4 संस्करण को स्थापित करने के लिए सुनिश्चित करें 0.9

  1. कदम LLVM

https://github.com/pacs-course/pacs/wiki/Instructions-to-install-clang-3.1-on-ubuntu-12.04.1-and-12.10

POCL 0.9 सफलतापूर्वक के लिए काम कर रहा है स्थापित करने के लिए मैं, जैसा कि आप इंस्टॉलेशन करते हैं, आपको एचडब्लॉक, मेसा लाइब्रेरीज़, ओपन ग्ल/सीएल हेडर आईसीडी लोडर्स जैसी कई अन्य गायब निर्भरताओं का सामना करना पड़ेगा। मुझे आशा है कि आप उन्हें स्टैक ओवरफ़्लो में रखने के लिए इसे एक बहुत बड़ी सूची के रूप में हल कर सकते हैं।

आदेश में एक खुला सीएल उपकरण के रूप में अपने FPGA पता लगाने के लिए, ऐसा करने के लिए एक छोटी सी बात होने के लिए नहीं जा रहा thats, तो आप इस लिंक प्रश्न

https://github.com/pocl/pocl/issues/285

और यह भी एक मैं GitHub पर तैनात करने के लिए उल्लेख कर सकते हैं शोध पत्र प्रकाशनों पर पाया hosseinbady द्वारा प्रकाशित

http://pocl.sourceforge.net/publications.html

आशा pocl वेबसाइट पर लिंक यह आप

में मदद करता है
संबंधित मुद्दे