ઓપનસીએલ બોર્ડ માટે 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-ફ્લો બેઝ]: base.qsf માંથી LogicLock પ્રતિબંધોનો ઉપયોગ કરીને બેઝ કમ્પાઈલ કરે છે file. કર્નલ ઘડિયાળનું લક્ષ્ય હળવું છે જેથી BSP હાર્ડવેરને સમયને પહોંચી વળવા માટે વધુ સ્વતંત્રતા મળે. BSP હાર્ડવેરને સાચવવા માટે base.qar ડેટાબેઝ બનાવવામાં આવ્યો છે, જે સ્થિર પ્રદેશ છે.
- કમ્પાઇલ આયાત કરો [ ]: base.qar ડેટાબેઝમાંથી ટાઇમિંગ બંધ સ્થિર પ્રદેશને પુનઃસ્થાપિત કરે છે અને માત્ર કર્નલ જનરેટ કરેલા હાર્ડવેરને કમ્પાઇલ કરે છે. તે શ્રેષ્ઠ કર્નલ મહત્તમ ઓપરેટિંગ આવર્તન (fmax) મેળવવા માટે કર્નલ ઘડિયાળના લક્ષ્યને પણ વધારે છે.
OpenCL BSP ફ્લોરપ્લાન પાર્ટીશન
ઓપનસીએલ બીએસપી ફ્લોરપ્લાન મુખ્યત્વે નીચેના બે પ્રદેશોમાં વહેંચાયેલું છે:
- સ્થિર પ્રદેશ: BSP સંબંધિત હાર્ડવેર ધરાવતા પ્રદેશનું પ્રતિનિધિત્વ કરે છે જે સ્થિર રહે છે. આધાર સંકલન દરમિયાન આ પ્રદેશ માટે સમય બંધ છે. સામાન્ય રીતે, ધ્યેય સમયને બંધ કરવા માટે આ પ્રદેશ દ્વારા ઉપયોગમાં લેવાતા ચિપ સંસાધનોને ઘટાડવાનો છે.
- કર્નલ પ્રદેશ: આંશિક પુનઃરૂપરેખાંકન (PR) પ્રદેશનું પ્રતિનિધિત્વ કરે છે જે ફ્રીઝ_wrapper_inst|kernel_system_inst મોડ્યુલ માટે આરક્ષિત છે, જે કર્નલ ધરાવે છે. સામાન્ય રીતે, ધ્યેય આ પ્રદેશ માટે ચિપ સંસાધનોને મહત્તમ હદ સુધી અનામત રાખવાનો છે.
- OpenCL માટે Intel FPGA SDK પ્રકાશિત થયેલ Khronos સ્પેસિફિકેશન પર આધારિત છે, અને Khronos Conformance Testing પ્રક્રિયા પાસ કરી છે. વર્તમાન સુસંગતતા સ્થિતિ અહીં મળી શકે છે www.khronos.org/conformance.
- OpenCL અને OpenCL લોગો એ Apple Inc.ના ટ્રેડમાર્ક છે અને તેનો ઉપયોગ Khronos Group™ ની પરવાનગી દ્વારા થાય છે.
ઇન્ટેલ કોર્પોરેશન. બધા હકો અમારી પાસે રાખેલા છે. ઇન્ટેલ, ઇન્ટેલ લોગો અને અન્ય ઇન્ટેલ ચિહ્નો ઇન્ટેલ કોર્પોરેશન અથવા તેની પેટાકંપનીઓના ટ્રેડમાર્ક છે. ઇન્ટેલ તેના FPGA અને સેમિકન્ડક્ટર ઉત્પાદનોના પ્રદર્શનને ઇન્ટેલની માનક વોરંટી અનુસાર વર્તમાન સ્પષ્ટીકરણો માટે વોરંટી આપે છે, પરંતુ સૂચના વિના કોઈપણ સમયે કોઈપણ ઉત્પાદનો અને સેવાઓમાં ફેરફાર કરવાનો અધિકાર અનામત રાખે છે. Intel દ્વારા લેખિતમાં સ્પષ્ટપણે સંમત થયા સિવાય અહીં વર્ણવેલ કોઈપણ માહિતી, ઉત્પાદન અથવા સેવાના એપ્લિકેશન અથવા ઉપયોગથી ઉદ્ભવતી કોઈ જવાબદારી અથવા જવાબદારી સ્વીકારતી નથી. ઇન્ટેલ ગ્રાહકોને સલાહ આપવામાં આવે છે કે તેઓ કોઈપણ પ્રકાશિત માહિતી પર આધાર રાખતા પહેલા અને ઉત્પાદનો અથવા સેવાઓ માટે ઓર્ડર આપતા પહેલા ઉપકરણ વિશિષ્ટતાઓનું નવીનતમ સંસ્કરણ પ્રાપ્ત કરે.
*અન્ય નામો અને બ્રાન્ડનો દાવો અન્યની મિલકત તરીકે થઈ શકે છે.
ઓપનસીએલ બીએસપી ફ્લોર પ્લાનિંગ માટેની માર્ગદર્શિકા
- BSP ના તમામ મુખ્ય ઘટકો કુદરતી રીતે ક્યાં મૂકવામાં આવે છે તે સમજવા માટે ફ્લેટ કમ્પાઇલેશનથી પ્રારંભ કરો (ખાસ કરીને I/O કનેક્શન્સ સાથેના IP બ્લોક્સ જેમ કે PCIe અથવા DDR). બીએસપીની રચના કરતી વખતે, તમારે પાઇપલાઇનની સ્થાપના કરવાનું વિચારવું પડશેtagસમય બંધ કરવા માટે IP ની વચ્ચે છે. પુનરાવર્તિત નિષ્ફળતા પાથને ઓળખવા માટે તમારે પહેલા ફ્લેટ કમ્પાઈલ સીડ સ્વીપ ચલાવવું જોઈએ, અને પછી તેમને ઠીક કરવાનો પ્રયાસ કરવો જોઈએ.
ટીપ: — ફ્લેટ કમ્પાઈલ સીડ સ્વીપ્સ પર સારો ટાઈમિંગ ક્લોઝર રેટ બેઝ કમ્પાઈલ ટાઈમિંગ બંધ થવાની શક્યતા વધારે હશે.
— જો તમે mm_interconnect* (Qsys દ્વારા ઉમેરાયેલ ઘટક) માં સતત નિષ્ફળતાઓ જોશો, તો પછી Qsys ઇન્ટરકનેક્ટ સાથે સિસ્ટમ ખોલો. viewer અને નિષ્ફળ ઇન્ટરકનેક્ટની જટિલતાને અવલોકન કરો. તમે માં પાઇપલાઇનિંગ ફ્લિપફ્લોપ્સ ઉમેરી શકો છો viewસમય સુધારવા માટે. જો તમે હજુ પણ આ સમસ્યાને સંબોધી શકતા નથી, તો તમારે એવલોન પાઇપલાઇન બ્રિજ ઉમેરીને mm_interconnect* જટિલ પાથને તોડવો પડશે. - બેઝ કમ્પાઇલેશન દરમિયાન, કર્નલ પ્રદેશ પર લોજિકલોકથી પ્રારંભ કરો જેમાં ફ્રીઝ_વ્રેપર_ઇન્સ્ટ|કર્નલ_સિસ્ટમ_ઇન્સ્ટ છે. અન્ય કોઈ પ્રતિબંધો વિના, ઇન્ટેલ ક્વાર્ટસ પ્રાઇમ BSP હાર્ડવેરને ચિપના બાકીના સ્થિર પ્રદેશમાં મુક્તપણે મૂકી શકે છે. BSP હાર્ડવેરના કદ અને સ્થાનને ઓળખવા માટે ફ્લેટ કમ્પાઇલ અને ચિપ પ્લાનરનો ઉપયોગ કરો, જેમ કે PCIe અને DDR. પછી, 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 પ્રદેશો આરક્ષિત કરતી વખતે આ સામાન્ય માર્ગદર્શિકા અનુસરો:
— બધા DSP કૉલમને કર્નલ_સિસ્ટમમાં મૂકવાનો પ્રયાસ કરો સિવાય કે BSP દ્વારા જરૂરી હોય.
— kernel_system માટે વધુ સ્ત્રોતો આરક્ષિત કરવાનો પ્રયાસ કરો.
— કર્નલ પ્રદેશમાં નોચેસની સંખ્યાને ન્યૂનતમ રાખવાનો પ્રયાસ કરો.
નીચેનો આંકડો PCIe અને DDR બેંક વચ્ચે પાઈપલાઈન બ્રિજ મૂકવા માટે ઉમેરવામાં આવેલ નોચને દર્શાવે છે.
આકૃતિ 1. 10 રિલીઝમાં Intel Arria® 17.0 GX માટે OpenCL BSP ફ્લોરપ્લાન
મહત્તમ ઓપરેટિંગ આવર્તન માટે માર્ગદર્શિકા
કર્નલ દ્વારા પ્રાપ્ત મહત્તમ ઓપરેટિંગ ફ્રીક્વન્સી (fmax) મોટાભાગે FPGA સ્પીડ પર આધાર રાખે છે કારણ કે મોટાભાગના IP પહેલેથી જ ઑપ્ટિમાઇઝ કરેલા હોવા જોઈએ. જો કે, BSP ફ્લોરપ્લાન પર આધાર રાખીને કેટલીક fmax ગુમાવી શકે છે. માજી માટેample, સામાન્ય રીતે BSP ના કર્નલ પ્રદેશમાં કટ-આઉટની સંખ્યા કર્નલ fmax ને અસર કરે છે.
નીચેની આકૃતિમાં દર્શાવ્યા મુજબ, શ્રેષ્ઠ બેઝ સીડ મેળવવા માટે જે શ્રેષ્ઠ સરેરાશ fmax ઉપજ આપે છે:
- સમયને અનુરૂપ પ્રથમ પાયાના બીજને પસંદ કરવાને બદલે પાયાના સંકલન પર બીજ સ્વીપ કરો.
- આયાત સંકલન કરો (ex. માંથી થોડા કર્નલોનો ઉપયોગ કરીનેampલે ડિઝાઇન્સ) બધા પસાર થતા આધાર બીજ પર.
- બધા પાયાના બીજ માટે સરેરાશ fmax ની ગણતરી કરો.
- સૌથી વધુ સરેરાશ fmax ઉપજ આપતું પાયાનું બીજ પસંદ કરો.
શ્રેષ્ઠ સરેરાશ એફએમએક્સ સાથેનો આધાર બીજ BSP સાથે રિલીઝ થવા માટે સારો ઉમેદવાર છે. જો તમે ભલામણ કરેલ પગલાં કરતાં અલગ અભિગમને અનુસરવાનું નક્કી કરો છો, તો તમે કર્નલ આયાત સંકલન પ્રક્રિયાના fmax માં 5-10% ભિન્નતા જોઈ શકો છો.
આકૃતિ 2. શ્રેષ્ઠ પાયાના બીજની ઓળખ કરવી
- ફ્લોરપ્લાન પ્રતિબંધો વિના કર્નલ કેટલી ઝડપથી ચાલી શકે છે તે સમજવા માટે:
1. કર્નલનું સપાટ સંકલન કરો અને fmax અવલોકન કરો.
2. સમાન કર્નલ પર આયાત સંકલન કરો અને fmax અવલોકન કરો.
3. fmax પરિણામોની સરખામણી કરો.
ફ્લોરપ્લાન પ્રતિબંધોને લીધે, આયાત કમ્પાઇલ એફએમએક્સ હંમેશા ફ્લેટ કમ્પાઇલ એફએમએક્સ કરતા ઓછું હોય છે. બીજના અવાજને ટાળવા માટે, કર્નલને વધુ પાયાના બીજ સાથે કમ્પાઇલ કરો અને fmax પરિણામોની સરખામણી કરતી વખતે સરેરાશ fmax ધ્યાનમાં લો. - બેઝ કમ્પાઈલેશનમાંથી કર્નલ fmax ને ફ્લેટ અથવા ઈમ્પોર્ટ કમ્પાઈલેશન સાથે ક્યારેય સરખાવશો નહીં. કર્નલ ઘડિયાળના લક્ષ્યોને આધાર સંકલન દરમિયાન હળવા કરવામાં આવે છે અને તેથી, તમે ક્યારેય સારા પરિણામો મેળવી શકશો નહીં.
- આધાર અથવા આયાત સંકલનમાં કર્નલ ઘડિયાળ નિર્ણાયક પાથનું અવલોકન કરો. જો નિર્ણાયક માર્ગ ફ્લોરપ્લાનમાં કર્નલથી સ્ટેટિક પ્રદેશ તરફ પસાર થતો હોય, તો ફ્લોરપ્લાન બદલો અથવા આ જટિલ પાથને ટાળવા માટે થોડા વધુ પાયાના બીજ ચલાવો.
BSP સંસાધન ઉપયોગ કાર્યક્ષમતાનું મૂલ્યાંકન કરવા માટેની માર્ગદર્શિકા
સંસાધનના ઉપયોગની ટકાવારી જેટલી વધારે છેtage, તમારા બીએસપીના સ્ટેટિક એરિયામાં વિસ્તારનો વધુ સારો ઉપયોગ. ઉચ્ચ સંસાધન ઉપયોગની ટકાવારીtage એ પણ સૂચવે છે કે કર્નલ પ્રદેશ માટે વધુ સ્રોતો ઉપલબ્ધ છે.
સંસાધનના ઉપયોગની ટકાવારીની ગણતરી કરવા માટે નીચેના પગલાંઓ અનુસરોtagતમારી BSP ની e:
- ફિટર રિપોર્ટના પાર્ટીશન સ્ટેટિસ્ટિક્સ વિભાગ હેઠળ ઉપલબ્ધ top.fit.rpt અથવા base.fit.rpt પરથી FPGA માં તમામ સંસાધનોની કિંમતો મેળવો.
- “freeze_wrapper_inst|kernel_system_inst” (કર્નલ પ્રદેશ) માટે મૂલ્ય બાદ કરો.
ટીપ:
અન્ય સંસાધનોના મૂલ્યો કરતાં અનુકૂલનશીલ લોજિક મોડ્યુલ (ALM) ના મૂલ્યો પર વધુ ધ્યાન કેન્દ્રિત કરો. ખાતરી કરો કે સંસાધનનો ઉપયોગ ટકાવારી છેtagALM માટે e OpenCL સંદર્ભ BSPની નજીક છે. ખૂબ ઊંચી ટકાવારીtagALM માટે e ભીડ તરફ દોરી શકે છે, જે સંકલન સમય વધારી શકે છે અને જટિલ કર્નલોમાં રૂટીંગ ભીડ દાખલ કરી શકે છે. જો કે, તમે હંમેશા સ્થિર પ્રદેશ વિસ્તારને વધારી કે ઘટાડી શકો છો અને સંકલન સમય અને fmax અવલોકન કરી શકો છો.
નીચેનું કોષ્ટક 10 પ્રકાશનમાં Arria ® 17.0 GX ઉપકરણોના OpenCL BSP સંસાધનના ઉપયોગને પ્રતિબિંબિત કરે છે.
કોષ્ટક 1.
10 રીલીઝમાં IntelArria 17.0 GX ઉપકરણોનો OpenCL BSP સંસાધન ઉપયોગ
કુલ ઉપલબ્ધ | કર્નલ માટે આરક્ષિત | BSP માટે ઉપલબ્ધ છે | બસપા દ્વારા ઉપયોગમાં લેવાય છે | 0/0 | |
ALM | 427200 | 393800 | 33400 | 23818. | 71.% |
રજીસ્ટર કરે છે | 1708800 | 1575200 | 133600 | 38913 | 29.% |
M2OK | 2713 | 2534 | 179 | 134 | 75.% |
ડીએસપી | 1518 | 1518 | 0 | 0 | N/A |
અવલોકન કરો કે ફ્લોર પ્લાનિંગ એવી રીતે કરવામાં આવે છે કે સ્થિર પ્રદેશમાં કોઈ DSP બ્લોક્સ ન હોય.
દસ્તાવેજ પુનરાવર્તન ઇતિહાસ
કોષ્ટક 2.
ઓપનસીએલ બોર્ડ સપોર્ટ પેકેજ ફ્લોરપ્લાન ઓપ્ટિમાઇઝેશન ગાઇડ માટે ઇન્ટેલ એફપીજીએ એસડીકેનો દસ્તાવેજ પુનરાવર્તન ઇતિહાસ
તારીખ | સંસ્કરણ | ફેરફારો |
ઓગસ્ટ-17 | પ્રારંભિક પ્રકાશન. |
ઑનલાઇન સંસ્કરણ
પ્રતિસાદ મોકલો
ID: 683312
AN-824
સંસ્કરણ: 2017.08.08
AN 824: OpenCL™ બોર્ડ માટે Intel® FPGA SDK
સપોર્ટ પેકેજ ફ્લોરપ્લાન ઓપ્ટિમાઇઝેશન માર્ગદર્શિકા
દસ્તાવેજો / સંસાધનો
![]() |
ઓપનસીએલ બોર્ડ સપોર્ટ પેકેજ ફ્લોરપ્લાન માટે ઇન્ટેલ AN 824 FPGA SDK [પીડીએફ] વપરાશકર્તા માર્ગદર્શિકા ઓપનસીએલ બોર્ડ સપોર્ટ પેકેજ ફ્લોરપ્લાન માટે AN 824 FPGA SDK, AN 824, OpenCL બોર્ડ સપોર્ટ પેકેજ ફ્લોરપ્લાન માટે FPGA SDK, OpenCL બોર્ડ સપોર્ટ પેકેજ ફ્લોરપ્લાન, બોર્ડ સપોર્ટ પેકેજ ફ્લોરપ્લાન, સપોર્ટ પેકેજ Floorplan, FPGA SDK |