OpenCL बोर्डासाठी AN 824 FPGA SDK
सपोर्ट पॅकेज फ्लोअर प्लॅन
वापरकर्ता मार्गदर्शक
साठी Intel® FPGA SDK OpenCL™ बोर्ड सपोर्ट पॅकेज फ्लोरप्लॅन ऑप्टिमायझेशन मार्गदर्शक
Intel/® FPGA SDK for OpenCL™ बोर्ड सपोर्ट पॅकेज (BSP) फ्लोरप्लॅन ऑप्टिमायझेशन गाइड OpenCL) BSP साठी फ्लोरप्लॅनिंग मार्गदर्शक तत्त्वे प्रदान करते. तुम्ही सर्वोत्तम सरासरी कमाल ऑपरेटिंग फ्रिक्वेंसीसह बेस सीड कसे मिळवू शकता आणि बीएसपी संसाधन वापर कार्यक्षमतेचे मूल्यमापन कसे करू शकता याचे मार्गदर्शन देखील ते प्रदान करते.
हा दस्तऐवज असे गृहीत धरतो की तुम्ही OpenCL(2) संकल्पनांशी परिचित आहात ज्याचे वर्णन Khronos ग्रुपने OpenCL स्पेसिफिकेशन आवृत्ती 1.0 मध्ये केले आहे.
OpenCL BSP संकलन प्रवाह
OpenCL BSP खालील प्रकारच्या संकलित प्रवाहांना समर्थन देते:
- फ्लॅट कंपाइल [–bsp-फ्लो फ्लॅट]: संपूर्ण डिझाइनचे सपाट संकलन करते (कर्नल व्युत्पन्न हार्डवेअरसह BSP).
- बेस कंपाइल [–bsp-फ्लो बेस]: base.qsf वरून LogicLock प्रतिबंध वापरून बेस संकलन करते file. कर्नल घड्याळ लक्ष्य शिथिल केले आहे जेणेकरून BSP हार्डवेअरला वेळेची पूर्तता करण्यासाठी अधिक स्वातंत्र्य असेल. BSP हार्डवेअर जतन करण्यासाठी base.qar डेटाबेस तयार केला जातो, जो स्थिर प्रदेश आहे.
- आयात संकलित [ ]: base.qar डेटाबेसमधून टाइमिंग बंद स्थिर प्रदेश पुनर्संचयित करते आणि फक्त कर्नल व्युत्पन्न हार्डवेअर संकलित करते. हे सर्वोत्तम कर्नल कमाल ऑपरेटिंग वारंवारता (fmax) प्राप्त करण्यासाठी कर्नल घड्याळ लक्ष्य देखील वाढवते.
ओपनसीएल बीएसपी फ्लोरप्लॅन विभाजन
ओपनसीएल बीएसपी फ्लोअरप्लॅन प्रामुख्याने खालील दोन क्षेत्रांमध्ये विभागलेला आहे:
- स्थिर प्रदेश: BSP संबंधित हार्डवेअर असलेल्या प्रदेशाचे प्रतिनिधित्व करते जे स्थिर राहते. बेस संकलनादरम्यान या प्रदेशासाठी वेळ बंद आहे. सर्वसाधारणपणे, टायमिंग बंद करण्यासाठी या प्रदेशाद्वारे वापरलेली चिप संसाधने कमी करणे हे ध्येय आहे.
- कर्नल प्रदेश: आंशिक रीकॉन्फिगरेशन (पीआर) क्षेत्राचे प्रतिनिधित्व करते जे फ्रीझ_रॅपर_इन्स्ट|कर्नेल_सिस्टम_इन्स्ट मॉड्यूलसाठी राखीव आहे, ज्यामध्ये कर्नल आहे. सर्वसाधारणपणे, या प्रदेशासाठी चिप संसाधने कमाल मर्यादेपर्यंत आरक्षित करणे हे ध्येय आहे.
- OpenCL साठी Intel FPGA SDK प्रकाशित Khronos स्पेसिफिकेशनवर आधारित आहे, आणि Khronos Conformance चाचणी प्रक्रिया उत्तीर्ण झाली आहे. वर्तमान अनुरूप स्थिती येथे आढळू शकते www.khronos.org/conformance.
- OpenCL आणि OpenCL लोगो हे Apple Inc. चे ट्रेडमार्क आहेत आणि Khronos Group™ च्या परवानगीने वापरले जातात.
इंटेल कॉर्पोरेशन. सर्व हक्क राखीव. इंटेल, इंटेल लोगो आणि इतर इंटेल चिन्ह हे इंटेल कॉर्पोरेशन किंवा त्याच्या उपकंपन्यांचे ट्रेडमार्क आहेत. इंटेल त्याच्या FPGA आणि सेमीकंडक्टर उत्पादनांच्या कार्यप्रदर्शनास इंटेलच्या मानक वॉरंटीनुसार वर्तमान वैशिष्ट्यांनुसार वॉरंटी देते, परंतु कोणत्याही वेळी कोणतीही सूचना न देता कोणतीही उत्पादने आणि सेवांमध्ये बदल करण्याचा अधिकार राखून ठेवते. इंटेलने लिखित स्वरूपात स्पष्टपणे मान्य केल्याशिवाय येथे वर्णन केलेल्या कोणत्याही माहिती, उत्पादन किंवा सेवेच्या अर्जामुळे किंवा वापरामुळे उद्भवणारी कोणतीही जबाबदारी किंवा दायित्व स्वीकारत नाही. इंटेल ग्राहकांना कोणत्याही प्रकाशित माहितीवर विसंबून राहण्यापूर्वी आणि उत्पादने किंवा सेवांसाठी ऑर्डर देण्यापूर्वी डिव्हाइस वैशिष्ट्यांची नवीनतम आवृत्ती प्राप्त करण्याचा सल्ला दिला जातो.
*इतर नावे आणि ब्रँडवर इतरांची मालमत्ता म्हणून दावा केला जाऊ शकतो.
ओपनसीएल बीएसपी फ्लोर प्लॅनिंगसाठी मार्गदर्शक तत्त्वे
- बीएसपीचे सर्व मुख्य घटक नैसर्गिकरित्या कोठे ठेवले जातात हे समजून घेण्यासाठी फ्लॅट संकलनासह प्रारंभ करा (विशेषत: I/O कनेक्शनसह IP ब्लॉक जसे की PCIe किंवा DDR). बीएसपीची रचना करताना, तुम्हाला पाइपलाइनची स्थापना करण्याचा विचार करावा लागेलtagवेळ बंद करण्यासाठी आयपी दरम्यान आहे. वारंवार येणारे अयशस्वी मार्ग ओळखण्यासाठी तुम्ही प्रथम फ्लॅट कंपाइल सीड स्वीप चालवा आणि नंतर त्यांचे निराकरण करण्याचा प्रयत्न करा.
टीप: - फ्लॅट कंपाइल सीड स्वीपच्या तुलनेत चांगला वेळेचा बंद दर असल्याने बेस कंपाइल टाइमिंग बंद होण्याची अधिक शक्यता असते.
— जर तुम्ही mm_interconnect* (Qsys द्वारे जोडलेले घटक) मध्ये सातत्यपूर्ण अपयश पाहत असाल, तर Qsys इंटरकनेक्टसह सिस्टम उघडा. viewer आणि अयशस्वी इंटरकनेक्टची जटिलता पहा. मध्ये पाइपलाइनिंग फ्लिपफ्लॉप जोडू शकता viewवेळ सुधारण्यासाठी. तुम्ही अजूनही समस्येचे निराकरण करू शकत नसल्यास, तुम्हाला Avalon पाइपलाइन ब्रिज जोडून mm_interconnect* गंभीर मार्ग खंडित करावा लागेल. - बेस कम्पाइलेशन दरम्यान, कर्नल प्रदेशावर LogicLock सह प्रारंभ करा ज्यामध्ये freeze_wrapper_inst|kernel_system_inst आहे. इतर कोणत्याही निर्बंधांशिवाय, इंटेल क्वार्टस प्राइम चिपच्या उर्वरित स्थिर प्रदेशात BSP हार्डवेअर मुक्तपणे ठेवू शकते. PCIe आणि DDR सारख्या BSP हार्डवेअरचा आकार आणि स्थान ओळखण्यासाठी फ्लॅट कंपाइल आणि चिप प्लॅनर वापरा. त्यानंतर, BSP हार्डवेअरचे मुख्य क्लस्टर केलेले क्षेत्र टाळून LogicLock वापरून कर्नल प्रदेश आरक्षित करा.
टीप: जर वापरलेली चिप फॅमिली संदर्भ प्लॅटफॉर्म सारखीच असेल आणि BSP घटक सारखे असतील तर, OpenCL संदर्भ BSP सोबत पाठवलेल्या freeze_wrapper_inst|kernel_system_inst साठी LogicLock क्षेत्रांसह प्रारंभ करणे अधिक जलद असू शकते आणि अपयशांमधून कार्य करा. - तुम्ही तुमच्या BSP मध्ये खालील अतिरिक्त घटक जोडू शकता:
— मेमरी बँक्स: तुम्ही अधिक मेमरी बँक जोडल्यास, तुम्ही I/O बँक स्थान ओळखले पाहिजे कारण तुम्हाला वेळेची पूर्तता करण्यासाठी पाइपलाइन पूल जोडण्याची आवश्यकता असू शकते.
— I/O चॅनेल: तुम्ही I/O चॅनेल जसे की व्हिडिओ, इथरनेट किंवा सीरियल इंटरफेस जोडू शकता. तुम्ही I/O चॅनेल जोडल्यास, तुम्ही I/O बँक स्थान ओळखले पाहिजे कारण तुम्हाला पाइपलाइनिंगसाठी नवीन LogicLock क्षेत्रे लागू करण्याची आवश्यकता असू शकते जर बंद करण्याची वेळ कठीण असेल.
टीप: तुम्हाला पाइपलाइन पूल जोडायचे असल्यास (उदाample, मोठ्या राउटिंग विलंबामुळे टायमिंग अयशस्वी झाल्यामुळे), नंतर चिपमधील स्त्रोत ते गंतव्य लॉजिकपर्यंतचे रूटिंग अंतर विचारात घ्या आणि कर्नल प्रदेशासाठी आरक्षित काही जागा सोडा. - कर्नलसाठी लॉजिकलॉक प्रदेश आरक्षित करताना या सामान्य मार्गदर्शक तत्त्वांचे अनुसरण करा:
— BSP द्वारे आवश्यक नसल्यास सर्व DSP स्तंभ kernel_system मध्ये ठेवण्याचा प्रयत्न करा.
— kernel_system साठी अधिक संसाधने आरक्षित करण्याचा प्रयत्न करा.
— कर्नल प्रदेशातील खाचांची संख्या कमीत कमी ठेवण्याचा प्रयत्न करा.
खालील आकृती PCIe आणि DDR बँक दरम्यान पाइपलाइन पूल ठेवण्यासाठी जोडलेली खाच दर्शवते.
आकृती 1. 10 रिलीझमध्ये Intel Arria® 17.0 GX साठी OpenCL BSP फ्लोरप्लॅन
कमाल ऑपरेटिंग वारंवारता साठी मार्गदर्शक तत्त्वे
कर्नलद्वारे प्राप्त केलेली कमाल ऑपरेटिंग फ्रिक्वेन्सी (fmax) मोठ्या प्रमाणावर FPGA गतीवर अवलंबून असते कारण बहुतेक IP आधीच ऑप्टिमाइझ केलेले असावेत. तथापि, BSP फ्लोअर प्लॅनवर अवलंबून काही fmax गमावू शकतात. उदाampले, सहसा बीएसपीच्या कर्नल प्रदेशातील कट-आउट्सची संख्या कर्नल एफमॅक्सला प्रभावित करते.
खालील आकृतीत दाखवल्याप्रमाणे, सर्वोत्तम सरासरी एफएमएक्स देणारे सर्वोत्तम बेस बियाणे प्राप्त करण्यासाठी:
- वेळेची पूर्तता करणारे पहिले बेस बियाणे निवडण्याऐवजी बेस कंपाइलेशनवर बियाणे स्वीप करा.
- आयात संकलित करा (माजी पासून काही कर्नल वापरूनample designs) सर्व उत्तीर्ण बेस बियांवर.
- सर्व मूळ बियांसाठी सरासरी एफएमएक्सची गणना करा.
- सर्वात जास्त सरासरी एफएमएक्स देणारे बेस बियाणे निवडा.
सर्वोत्कृष्ट सरासरी एफएमएक्स असलेले बेस बियाणे BSP सोबत सोडण्यासाठी एक चांगला उमेदवार आहे. तुम्ही शिफारस केलेल्या पायऱ्यांपेक्षा वेगळ्या पद्धतीचे अनुसरण करण्याचे ठरवल्यास, तुम्ही कर्नल आयात संकलन प्रक्रियेच्या fmax मध्ये 5-10% फरक पाहू शकता.
आकृती 2. सर्वोत्तम आधारभूत बियाणे ओळखणे
- फ्लोरप्लॅन निर्बंधांशिवाय कर्नल किती वेगाने चालू शकते हे समजून घेण्यासाठी:
1. कर्नलचे सपाट संकलन करा आणि fmax चे निरीक्षण करा.
2. त्याच कर्नलवर आयात संकलन करा आणि fmax चे निरीक्षण करा.
3. fmax परिणामांची तुलना करा.
फ्लोरप्लॅन निर्बंधांमुळे, आयात संकलित fmax नेहमी फ्लॅट कंपाइल fmax पेक्षा कमी असते. बियाण्यांचा आवाज टाळण्यासाठी, कर्नल अधिक बेस बियासह संकलित करा आणि fmax परिणामांची तुलना करताना सरासरी fmax विचारात घ्या. - बेस कंपाइलेशनमधील कर्नल एफमॅक्सची तुलना फ्लॅट किंवा इंपोर्ट कंपाइलेशनशी कधीही करू नका. बेस कम्पाइलेशन दरम्यान कर्नल क्लॉक टार्गेट्स शिथिल केले जातात आणि त्यामुळे तुम्हाला कधीही चांगले परिणाम मिळणार नाहीत.
- बेस किंवा इंपोर्ट कम्पाइलेशनमध्ये कर्नल क्लॉक क्रिटिकल पाथचे निरीक्षण करा. जर गंभीर मार्ग फ्लोरप्लॅनमधील कर्नलपासून स्थिर प्रदेशापर्यंत जात असेल, तर हा गंभीर मार्ग टाळण्यासाठी फ्लोरप्लॅन बदला किंवा आणखी काही बेस बिया चालवा.
बीएसपी संसाधन वापर कार्यक्षमतेचे मूल्यांकन करण्यासाठी मार्गदर्शक तत्त्वे
संसाधनाच्या वापराची टक्केवारी जितकी जास्त असेलtage, तुमच्या BSP च्या स्थिर क्षेत्रामध्ये क्षेत्राचा वापर जितका चांगला होईल. उच्च संसाधनाच्या वापराची टक्केवारीtage हे देखील सूचित करते की कर्नल प्रदेशासाठी अधिक संसाधने उपलब्ध आहेत.
संसाधनाच्या वापराच्या टक्केवारीची गणना करण्यासाठी खालील चरणांचे अनुसरण कराtagतुमच्या बसपाचा ई:
- फिटर अहवालाच्या विभाजन सांख्यिकी विभागांतर्गत उपलब्ध top.fit.rpt किंवा base.fit.rpt वरून FPGA मधील सर्व संसाधनांसाठी मूल्ये मिळवा.
- “freeze_wrapper_inst|kernel_system_inst” (कर्नल प्रदेश) साठी मूल्य वजा करा.
टीप:
इतर संसाधनांच्या मूल्यांपेक्षा अॅडॉप्टिव्ह लॉजिक मॉड्यूल (ALM) च्या मूल्यांवर अधिक लक्ष केंद्रित करा. संसाधनाच्या वापराची टक्केवारी सुनिश्चित कराtage ALM साठी OpenCL संदर्भ BSP च्या जवळ आहे. खूप उच्च टक्केtage ALM साठी गर्दी होऊ शकते, ज्यामुळे संकलनाचा वेळ वाढू शकतो आणि जटिल कर्नलमध्ये राउटिंग कंजेशन येऊ शकते. तथापि, तुम्ही नेहमी स्थिर प्रदेश क्षेत्र वाढवू किंवा कमी करू शकता आणि संकलन वेळ आणि fmax चे निरीक्षण करू शकता.
खालील तक्ता 10 रिलीझमध्ये Arria ® 17.0 GX उपकरणांचा OpenCL BSP संसाधन वापर प्रतिबिंबित करते.
तक्ता 1.
10 रिलीझमध्ये IntelArria 17.0 GX उपकरणांचा OpenCL BSP संसाधन वापर
एकूण उपलब्ध | कर्नलसाठी राखीव | बसपासाठी उपलब्ध | बसपने वापरले | 0/0 | |
ALM | 427200 | 393800 | 33400 | 23818. | ४.% |
नोंदणी करतो | 1708800 | 1575200 | 133600 | 38913 | ४.% |
M2OK | 2713 | 2534 | 179 | 134 | ४.% |
डीएसपी | 1518 | 1518 | 0 | 0 | N/A |
निरिक्षण करा की मजला नियोजन अशा प्रकारे केले जाते की स्थिर प्रदेशात कोणतेही DSP ब्लॉक नसतील.
दस्तऐवज पुनरावृत्ती इतिहास
तक्ता 2.
ओपनसीएल बोर्ड सपोर्ट पॅकेज फ्लोरप्लॅन ऑप्टिमायझेशन मार्गदर्शकासाठी इंटेल एफपीजीए एसडीकेचा दस्तऐवज पुनरावृत्ती इतिहास
तारीख | आवृत्ती | बदल |
ऑगस्ट-17 | प्रारंभिक प्रकाशन. |
ऑनलाइन आवृत्ती
अभिप्राय पाठवा
ID: 683312
AN-824
आवृत्ती: 2017.08.08
AN 824: OpenCL™ बोर्डसाठी Intel® FPGA SDK
सपोर्ट पॅकेज फ्लोरप्लॅन ऑप्टिमायझेशन मार्गदर्शक
कागदपत्रे / संसाधने
![]() |
ओपनसीएल बोर्ड सपोर्ट पॅकेज फ्लोरप्लॅनसाठी इंटेल एएन 824 एफपीजीए एसडीके [pdf] वापरकर्ता मार्गदर्शक ओपनसीएल बोर्ड सपोर्ट पॅकेज फ्लोअरप्लॅनसाठी एएन 824 एफपीजीए एसडीके, एएन 824, ओपनसीएल बोर्ड सपोर्ट पॅकेज फ्लोअरप्लॅनसाठी एफपीजीए एसडीके, ओपनसीएल बोर्ड सपोर्ट पॅकेज फ्लोअरप्लान, बोर्ड सपोर्ट पॅकेज फ्लोअरप्लान, सपोर्ट पॅकेज फ्लोअरप्लान, फ्लोअरप्लान |