OpenCL போர்டுக்கான AN 824 FPGA SDK
ஆதரவு தொகுப்பு மாடித் திட்டம்
பயனர் வழிகாட்டி
Intel® FPGA SDK க்கான OpenCL ™ போர்டு ஆதரவு தொகுப்பு மாடித் திட்டத்தை மேம்படுத்துதல் வழிகாட்டி
OpenCL™ Board Support Packageக்கான Intel/® FPGA SDK (BSP) Floorplan Optimization Guide ஆனது OpenCL) BSPக்கான தரைத் திட்டமிடல் வழிகாட்டுதல்களை வழங்குகிறது. சிறந்த சராசரி அதிகபட்ச இயக்க அதிர்வெண்ணுடன் அடிப்படை விதையை நீங்கள் எவ்வாறு பெறலாம் மற்றும் BSP வளப் பயன்பாட்டுத் திறனை எவ்வாறு மதிப்பிடலாம் என்பதற்கான வழிகாட்டுதலையும் இது வழங்குகிறது.
க்ரோனோஸ் குழுவின் OpenCL விவரக்குறிப்பு பதிப்பு 2 இல் விவரிக்கப்பட்டுள்ளபடி OpenCL(1.0) கருத்துகளை நீங்கள் நன்கு அறிந்திருக்கிறீர்கள் என்று இந்த ஆவணம் கருதுகிறது.
OpenCL BSP தொகுப்பு ஓட்டம்
OpenCL BSP பின்வரும் வகையான தொகுத்தல் ஓட்டங்களை ஆதரிக்கிறது:
- பிளாட் கம்பைல் [–பிஎஸ்பி-ஃப்ளோ பிளாட்]: முழு வடிவமைப்பின் தட்டையான தொகுப்பைச் செய்கிறது (கர்னல் உருவாக்கப்பட்ட வன்பொருளுடன் பிஎஸ்பி).
- அடிப்படை தொகுத்தல் [–bsp-flow base]: base.qsf இலிருந்து LogicLock கட்டுப்பாடுகளைப் பயன்படுத்தி அடிப்படைத் தொகுப்பைச் செய்கிறது file. கர்னல் கடிகார இலக்கு தளர்த்தப்பட்டுள்ளது, இதனால் BSP வன்பொருளுக்கு நேரத்தைச் சந்திக்க அதிக சுதந்திரம் உள்ளது. நிலையான பகுதியான BSP வன்பொருளைப் பாதுகாக்க ஒரு base.qar தரவுத்தளம் உருவாக்கப்பட்டது.
- இறக்குமதி தொகுத்தல் [ ]: base.qar தரவுத்தளத்திலிருந்து டைமிங் மூடிய நிலையான பகுதியை மீட்டெடுக்கிறது மற்றும் கர்னல் உருவாக்கப்பட்ட வன்பொருளை மட்டும் தொகுக்கிறது. இது சிறந்த கர்னல் அதிகபட்ச இயக்க அதிர்வெண்ணைப் (fmax) பெற கர்னல் கடிகார இலக்கையும் அதிகரிக்கிறது.
OpenCL BSP ஃப்ளோர்பிளான் பகிர்வு
OpenCL BSP தரைத்தளம் முக்கியமாக பின்வரும் இரண்டு பகுதிகளாக பிரிக்கப்பட்டுள்ளது:
- நிலையான பகுதி: நிலையானதாக இருக்கும் BSP தொடர்பான வன்பொருளைக் கொண்ட பிராந்தியத்தைக் குறிக்கிறது. அடிப்படைத் தொகுப்பின் போது இந்தப் பகுதிக்கான நேரம் மூடப்பட்டுள்ளது. பொதுவாக, நேரத்தை மூடுவதற்கு இந்தப் பிராந்தியம் பயன்படுத்தும் சிப் வளங்களைக் குறைப்பதே இலக்காகும்.
- கர்னல் பகுதி: கர்னலைக் கொண்டிருக்கும் freeze_wrapper_inst|kernel_system_inst தொகுதிக்கு ஒதுக்கப்பட்ட பகுதி மறுகட்டமைப்பு (PR) பகுதியைக் குறிக்கிறது. பொதுவாக, இந்த பிராந்தியத்திற்கு அதிகபட்ச அளவிற்கு சிப் வளங்களை முன்பதிவு செய்வதே இலக்காகும்.
- OpenCL க்கான Intel FPGA SDK வெளியிடப்பட்ட க்ரோனோஸ் விவரக்குறிப்பை அடிப்படையாகக் கொண்டது, மேலும் க்ரோனோஸ் கன்ஃபார்மன்ஸ் டெஸ்டிங் செயல்முறையில் தேர்ச்சி பெற்றுள்ளது. தற்போதைய இணக்க நிலையை இங்கு காணலாம் www.khronos.org/conformance.
- OpenCL மற்றும் OpenCL லோகோ ஆகியவை Apple Inc. இன் வர்த்தக முத்திரைகள் மற்றும் Khronos Group™ இன் அனுமதியால் பயன்படுத்தப்படுகின்றன.
இன்டெல் கார்ப்பரேஷன். அனைத்து உரிமைகளும் பாதுகாக்கப்பட்டவை. இன்டெல், இன்டெல் லோகோ மற்றும் பிற இன்டெல் குறிகள் இன்டெல் கார்ப்பரேஷன் அல்லது அதன் துணை நிறுவனங்களின் வர்த்தக முத்திரைகள். இன்டெல் அதன் FPGA மற்றும் செமிகண்டக்டர் தயாரிப்புகளின் செயல்திறன் இன்டெல்லின் நிலையான உத்தரவாதத்தின்படி தற்போதைய விவரக்குறிப்புகளுக்கு உத்தரவாதம் அளிக்கிறது, ஆனால் எந்த நேரத்திலும் அறிவிப்பு இல்லாமல் எந்த தயாரிப்புகள் மற்றும் சேவைகளில் மாற்றங்களைச் செய்வதற்கான உரிமையை கொண்டுள்ளது. Intel எழுத்துப்பூர்வமாக ஒப்புக்கொண்டதைத் தவிர, இங்கு விவரிக்கப்பட்டுள்ள எந்தவொரு தகவல், தயாரிப்பு அல்லது சேவையின் பயன்பாடு அல்லது பயன்பாட்டிலிருந்து எழும் எந்தப் பொறுப்பு அல்லது பொறுப்பையும் இன்டெல் ஏற்காது. Intel வாடிக்கையாளர்கள் வெளியிடப்பட்ட எந்த தகவலையும் நம்புவதற்கு முன் மற்றும் தயாரிப்புகள் அல்லது சேவைகளுக்கான ஆர்டர்களை வழங்குவதற்கு முன்பு சாதன விவரக்குறிப்புகளின் சமீபத்திய பதிப்பைப் பெற அறிவுறுத்தப்படுகிறார்கள்.
*பிற பெயர்கள் மற்றும் பிராண்டுகள் மற்றவர்களின் சொத்தாக உரிமை கோரப்படலாம்.
OpenCL BSP தரைத் திட்டமிடலுக்கான வழிகாட்டுதல்கள்
- பிஎஸ்பியின் அனைத்து முக்கிய கூறுகளும் இயற்கையாகவே (குறிப்பாக PCIe அல்லது DDR போன்ற I/O இணைப்புகளைக் கொண்ட IP தொகுதிகள்) எங்கு வைக்கப்படுகின்றன என்பதைப் புரிந்துகொள்வதற்கு தட்டையான தொகுப்புடன் தொடங்கவும். பிஎஸ்பியை வடிவமைக்கும் போது, பைப்லைன்களை நிறுவுவதை நீங்கள் பரிசீலிக்க வேண்டும்tagஐபிகளுக்கு இடையில் நேரத்தை மூட வேண்டும். மீண்டும் மீண்டும் தோல்வியடையும் பாதைகளை அடையாளம் காண நீங்கள் முதலில் ஒரு பிளாட் கம்பைல் விதை துடைப்பை இயக்க வேண்டும், பின்னர் அவற்றை சரிசெய்ய முயற்சிக்கவும்.
உதவிக்குறிப்பு: - பிளாட் கம்பைல் சீட் ஸ்வீப்களை விட ஒரு நல்ல டைமிங் மூடல் வீதம், பேஸ் கம்பைல் டைமிங்கை மூடுவதற்கான அதிக வாய்ப்புகளைக் கொண்டிருக்கும்.
— mm_interconnect* இல் (Qsys ஆல் சேர்க்கப்பட்ட கூறு) தொடர்ச்சியான தோல்விகளைக் கண்டால், Qsys இன்டர்கனெக்ட் மூலம் கணினியைத் திறக்கவும் viewஎர் மற்றும் தோல்வியுற்ற ஒன்றோடொன்று இணைப்பின் சிக்கலைக் கவனியுங்கள். நீங்கள் பைப்லைனிங் ஃபிளிப்ஃப்ளாப்களை இதில் சேர்க்கலாம் viewநேரத்தை மேம்படுத்த வேண்டும். நீங்கள் இன்னும் சிக்கலைத் தீர்க்க முடியாவிட்டால், அவலோன் பைப்லைன் பிரிட்ஜ்களைச் சேர்ப்பதன் மூலம் mm_interconnect* முக்கியமான பாதையை நீங்கள் உடைக்க வேண்டியிருக்கும். - அடிப்படை தொகுப்பின் போது, freeze_wrapper_inst|kernel_system_inst உள்ள கர்னல் பகுதியில் LogicLock உடன் தொடங்கவும். மற்ற கட்டுப்பாடுகள் ஏதுமின்றி, இன்டெல் குவார்டஸ் பிரைம் 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, பெரிய ரூட்டிங் தாமதங்கள் நேர தோல்விகளை ஏற்படுத்துவதால்), பின்னர் சிப்பில் மூலத்திலிருந்து இலக்கு தர்க்கத்திற்கு ரூட்டிங் தூரத்தைக் கருத்தில் கொண்டு கர்னல் பகுதிக்கு ஒதுக்கப்பட்ட இடத்தை விடுவிக்கவும். - கர்னலுக்கு LogicLock பகுதிகளை முன்பதிவு செய்யும் போது இந்த பொதுவான வழிகாட்டுதல்களைப் பின்பற்றவும்:
— BSP ஆல் தேவைப்படாவிட்டால் அனைத்து DSP நெடுவரிசைகளையும் kernel_system இல் வைக்க முயற்சிக்கவும்.
— kernel_systemக்கு அதிக ஆதாரங்களை ஒதுக்க முயற்சி.
- கர்னல் பகுதியில் உள்ள குறிப்புகளின் எண்ணிக்கையை குறைந்தபட்சமாக வைத்திருக்க முயற்சிக்கவும்.
பிசிஐஇ மற்றும் டிடிஆர் வங்கிக்கு இடையே பைப்லைன் பிரிட்ஜை வைப்பதற்காக சேர்க்கப்பட்ட ஒரு உச்சநிலையை பின்வரும் படம் விளக்குகிறது.
படம் 1. 10 வெளியீட்டில் Intel Arria® 17.0 GXக்கான OpenCL BSP மாடித் திட்டம்
அதிகபட்ச இயக்க அதிர்வெண்ணுக்கான வழிகாட்டுதல்கள்
கர்னல்களால் அடையப்படும் அதிகபட்ச இயக்க அதிர்வெண் (fmax) பெரும்பாலும் FPGA வேகத்தைப் பொறுத்தது, ஏனெனில் பெரும்பாலான IPகள் ஏற்கனவே உகந்ததாக இருக்க வேண்டும். இருப்பினும், BSP தளத் திட்டத்தைப் பொறுத்து சில fmax இழப்புகள் இருக்கலாம். உதாரணமாகample, பொதுவாக BSPயின் கர்னல் பகுதியில் உள்ள கட்-அவுட்களின் எண்ணிக்கை கர்னல் fmax ஐ பாதிக்கிறது.
பின்வரும் படத்தில் விளக்கப்பட்டுள்ளபடி, சிறந்த சராசரி எஃப்மேக்ஸை அளிக்கும் சிறந்த அடிப்படை விதையைப் பெற:
- நேரத்தைச் சந்திக்கும் முதல் அடிப்படை விதையைத் தேர்ந்தெடுப்பதற்குப் பதிலாக, அடிப்படைத் தொகுப்பில் விதை துடைப்பைச் செய்யவும்.
- இறக்குமதி தொகுப்பைச் செய்யவும் (முன்னாள் இருந்து சில கர்னல்களைப் பயன்படுத்துவதன் மூலம்ample வடிவமைப்புகள்) கடந்து செல்லும் அனைத்து அடிப்படை விதைகளிலும்.
- அனைத்து அடிப்படை விதைகளுக்கும் சராசரி எஃப்மேக்ஸைக் கணக்கிடுங்கள்.
- அதிக சராசரி fmax ஐ அளிக்கும் அடிப்படை விதையைத் தேர்ந்தெடுக்கவும்.
சிறந்த சராசரி fmax கொண்ட அடிப்படை விதை BSP உடன் வெளியிடுவதற்கு ஒரு நல்ல வேட்பாளர். பரிந்துரைக்கப்பட்ட படிகளை விட வித்தியாசமான அணுகுமுறையைப் பின்பற்ற நீங்கள் முடிவு செய்தால், கர்னல் இறக்குமதி தொகுத்தல் செயல்முறையின் fmax இல் 5-10% மாறுபாட்டை நீங்கள் கவனிக்கலாம்.
படம் 2. சிறந்த அடிப்படை விதையை கண்டறிதல்
- தரைத் திட்டக் கட்டுப்பாடுகள் இல்லாமல் கர்னல் எவ்வளவு வேகமாக இயங்க முடியும் என்பதைப் புரிந்து கொள்ள:
1. கர்னலின் தட்டையான தொகுப்பைச் செய்து, fmax ஐக் கவனிக்கவும்.
2. அதே கர்னலில் ஒரு இறக்குமதி தொகுப்பைச் செய்து fmax ஐக் கவனிக்கவும்.
3. fmax முடிவுகளை ஒப்பிடுக.
தரைத் திட்டக் கட்டுப்பாடுகள் காரணமாக, பிளாட் கம்பைல் எஃப்மேக்ஸை விட இறக்குமதி கம்பைல் எஃப்மேக்ஸ் எப்போதும் குறைவாகவே இருக்கும். விதை இரைச்சலைத் தவிர்க்க, அதிக அடிப்படை விதைகளுடன் கர்னலைத் தொகுத்து, fmax முடிவுகளை ஒப்பிடும் போது சராசரி எஃப்மேக்ஸைக் கருத்தில் கொள்ளவும். - ஒரு அடிப்படை தொகுப்பிலிருந்து கர்னல் fmax ஐ ஒரு பிளாட் அல்லது ஒரு இறக்குமதி தொகுப்புடன் ஒப்பிட வேண்டாம். அடிப்படைத் தொகுப்பின் போது கர்னல் கடிகார இலக்குகள் தளர்த்தப்படுகின்றன, எனவே, நீங்கள் ஒருபோதும் நல்ல முடிவுகளைப் பெற முடியாது.
- அடிப்படை அல்லது இறக்குமதி தொகுப்பில் கர்னல் கடிகாரத்தின் முக்கியமான பாதையை கவனிக்கவும். முக்கியமான பாதையானது கர்னலில் இருந்து தரைத்தளத்தில் நிலையான பகுதிக்கு கடந்து சென்றால், இந்த முக்கியமான பாதையைத் தவிர்க்க தரைத் திட்டத்தை மாற்றவும் அல்லது இன்னும் சில அடிப்படை விதைகளை இயக்கவும்.
BSP வளப் பயன்பாட்டுத் திறனை மதிப்பிடுவதற்கான வழிகாட்டுதல்கள்
அதிக வள பயன்பாட்டு சதவீதம்tage, உங்கள் BSP இன் நிலையான பகுதியில் சிறந்த பகுதி பயன்பாடு. அதிக வள பயன்பாட்டு சதவீதம்tage கர்னல் பகுதிக்கு அதிக ஆதாரங்கள் உள்ளன என்பதையும் குறிக்கிறது.
ஆதார பயன்பாட்டு சதவீதத்தைக் கணக்கிட கீழே உள்ள படிகளைப் பின்பற்றவும்tagஉங்கள் பிஎஸ்பியின் இ:
- FPGA இல் உள்ள அனைத்து ஆதாரங்களுக்கான மதிப்புகளை top.fit.rpt அல்லது base.fit.rpt இலிருந்து ஃபிட்டர் அறிக்கையின் பகிர்வு புள்ளியியல் பிரிவின் கீழ் கிடைக்கும்.
- “freeze_wrapper_inst|kernel_system_inst” (கர்னல் பகுதி)க்கான மதிப்பைக் கழிக்கவும்.
உதவிக்குறிப்பு:
மற்ற ஆதாரங்களின் மதிப்புகளைக் காட்டிலும் அடாப்டிவ் லாஜிக் மாட்யூலின் (ALM) மதிப்புகளில் அதிக கவனம் செலுத்துங்கள். வளப் பயன்பாடு சதவிகிதம் என்பதை உறுதிப்படுத்தவும்tage for ALM ஆனது OpenCL குறிப்பு BSPக்கு நெருக்கமாக உள்ளது. மிக அதிக சதவீதம்tage for ALM ஆனது நெரிசலுக்கு வழிவகுக்கும், இது தொகுக்கும் நேரத்தை அதிகரிக்கலாம் மற்றும் சிக்கலான கர்னல்களில் ரூட்டிங் நெரிசலை அறிமுகப்படுத்தலாம். இருப்பினும், நீங்கள் எப்போதும் நிலையான பகுதி பகுதியை அதிகரிக்கலாம் அல்லது குறைக்கலாம் மற்றும் தொகுக்கும் நேரம் மற்றும் எஃப்மேக்ஸைக் கண்காணிக்கலாம்.
10 வெளியீட்டில் Arria ® 17.0 GX சாதனங்களின் OpenCL BSP வளப் பயன்பாட்டை பின்வரும் அட்டவணை பிரதிபலிக்கிறது.
அட்டவணை 1.
10 வெளியீட்டில் IntelArria 17.0 GX சாதனங்களின் OpenCL BSP வளப் பயன்பாடு
மொத்தம் கிடைக்கும் | கர்னலுக்கு ஒதுக்கப்பட்டது | பிஎஸ்பிக்கு கிடைக்கிறது | பிஎஸ்பியால் பயன்படுத்தப்பட்டது | 0/0 | |
ஏ.எல்.எம் | 427200 | 393800 | 33400 | 23818 | 71.% |
பதிவுகள் | 1708800 | 1575200 | 133600 | 38913 | 29.% |
M2OK | 2713 | 2534 | 179 | 134 | 75.% |
டிஎஸ்பி | 1518 | 1518 | 0 | 0 | N/A |
நிலையான பகுதியில் எந்த DSP தொகுதிகளும் இல்லாத வகையில் தரைத் திட்டமிடல் செயல்படுத்தப்படுவதைக் கவனிக்கவும்.
ஆவண திருத்த வரலாறு
அட்டவணை 2.
Intel FPGA SDK இன் ஆவண மறுபார்வை வரலாறு OpenCL போர்டு ஆதரவு தொகுப்பு ஃப்ளோர்பிளான் மேம்படுத்தல் வழிகாட்டி
தேதி | பதிப்பு | மாற்றங்கள் |
ஆகஸ்ட்-17 | ஆரம்ப வெளியீடு. |
ஆன்லைன் பதிப்பு
கருத்தை அனுப்பவும்
ஐடி: 683312
ஏஎன்-824
பதிப்பு: 2017.08.08
AN 824: OpenCL™ போர்டுக்கான Intel® FPGA SDK
ஆதரவு தொகுப்பு மாடித் திட்டத்தை மேம்படுத்துதல் வழிகாட்டி
ஆவணங்கள் / ஆதாரங்கள்
![]() |
இன்டெல் ஏஎன் 824 எஃப்பிஜிஏ எஸ்டிகே ஓபன்சிஎல் போர்டு சப்போர்ட் பேக்கேஜ் ஃப்ளோர்பிளானுக்கு [pdf] பயனர் வழிகாட்டி OpenCL போர்டு ஆதரவு தொகுப்பு மாடித் திட்டத்திற்கான AN 824 FPGA SDK. |