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