AN 824 FPGA SDK OpenCL Board-ისთვის
მხარდაჭერის პაკეტი Floorplan
მომხმარებლის სახელმძღვანელო
Intel® FPGA SDK for OpenCL ™ Board Support Package Floorplan Optimization Guide
Intel/® FPGA SDK for OpenCL™ Board Support Package (BSP) Floorplan Optimization Guide გთავაზობთ იატაკის დაგეგმვის სახელმძღვანელო მითითებებს OpenCL) BSP-სთვის. ის ასევე იძლევა მითითებებს იმის შესახებ, თუ როგორ შეგიძლიათ შეიძინოთ საბაზისო თესლი საუკეთესო საშუალო მაქსიმალური ოპერაციული სიხშირით და შეაფასოთ BSP რესურსების გამოყენების ეფექტურობა.
ეს დოკუმენტი ვარაუდობს, რომ თქვენ იცნობთ OpenCL(2) ცნებებს, როგორც აღწერილია OpenCL Specification ვერსია 1.0-ში Khronos Group-ის მიერ.
OpenCL BSP კომპილაციის ნაკადი
OpenCL BSP მხარს უჭერს კომპილაციის ნაკადების შემდეგ ტიპებს:
- Flat compile [–bsp-flow flat]: ასრულებს მთლიანი დიზაინის ბრტყელ კომპილაციას (BSP ბირთვის გენერირებულ აპარატურასთან ერთად).
- ბაზის კომპილაცია [–bsp-flow base]: ასრულებს საბაზისო კომპილაციას LogicLock შეზღუდვების გამოყენებით base.qsf-დან file. ბირთვის საათის სამიზნე მოდუნებულია ისე, რომ BSP აპარატურას აქვს მეტი თავისუფლება დროის დაკმაყოფილებაში. ბაზა.qar მონაცემთა ბაზა იქმნება BSP ტექნიკის შესანარჩუნებლად, რომელიც არის სტატიკური რეგიონი.
- კომპილაციის იმპორტი [ ]: აღადგენს დროის დახურულ სტატიკურ რეგიონს base.qar მონაცემთა ბაზიდან და ადგენს მხოლოდ ბირთვის გენერირებულ აპარატურას. ის ასევე ზრდის ბირთვის საათის სამიზნეს, რათა მიიღოთ ბირთვის საუკეთესო მაქსიმალური ოპერაციული სიხშირე (fmax).
OpenCL BSP Floorplan Partition
OpenCL BSP იატაკის გეგმა ძირითადად იყოფა შემდეგ ორ რეგიონად:
- სტატიკური რეგიონი: წარმოადგენს რეგიონს, რომელსაც აქვს BSP დაკავშირებული აპარატურა, რომელიც რჩება სტატიკური. დრო დახურულია ამ რეგიონისთვის ბაზის შედგენის დროს. ზოგადად, მიზანია მინიმუმამდე დაიყვანოს ამ რეგიონის მიერ გამოყენებული ჩიპური რესურსები დროის დახურვისთვის.
- ბირთვის რეგიონი: წარმოადგენს ნაწილობრივი რეკონფიგურაციის (PR) რეგიონს, რომელიც დაცულია freeze_wrapper_inst|kernel_system_inst მოდულისთვის, რომელიც შეიცავს ბირთვს. ზოგადად, მიზანია ჩიპური რესურსების მაქსიმალური რეზერვირება ამ რეგიონისთვის.
- Intel FPGA SDK OpenCL-ისთვის ეფუძნება გამოქვეყნებულ Khronos სპეციფიკაციას და გაიარა Khronos-ის შესაბამისობის ტესტირების პროცესი. ამჟამინდელი შესაბამისობის სტატუსი შეგიძლიათ იხილოთ აქ www.khronos.org/conformance.
- OpenCL და OpenCL ლოგო არის Apple Inc.-ის სავაჭრო ნიშნები და გამოიყენება Khronos Group™-ის ნებართვით.
ინტელის კორპორაცია. Ყველა უფლება დაცულია. Intel, Intel-ის ლოგო და სხვა Intel ნიშნები არის Intel Corporation-ის ან მისი შვილობილი კომპანიების სავაჭრო ნიშნები. Intel იძლევა გარანტიას მისი FPGA და ნახევარგამტარული პროდუქტების შესრულებაზე მიმდინარე სპეციფიკაციების შესაბამისად Intel-ის სტანდარტული გარანტიის შესაბამისად, მაგრამ იტოვებს უფლებას ნებისმიერ დროს შეიტანოს ცვლილებები ნებისმიერ პროდუქტსა და სერვისში შეტყობინების გარეშე. Intel არ იღებს პასუხისმგებლობას ან პასუხისმგებლობას, რომელიც წარმოიქმნება აქ აღწერილი ნებისმიერი ინფორმაციის, პროდუქტის ან სერვისის აპლიკაციის ან გამოყენების შედეგად, გარდა იმ შემთხვევისა, რაც წერილობით არის დათანხმებული Intel-ის მიერ. Intel-ის მომხმარებლებს ურჩევენ მიიღონ მოწყობილობის სპეციფიკაციების უახლესი ვერსია, სანამ დაეყრდნონ რაიმე გამოქვეყნებულ ინფორმაციას და განათავსონ შეკვეთები პროდუქტებსა და სერვისებზე.
*სხვა სახელები და ბრენდები შეიძლება გამოცხადდეს, როგორც სხვისი საკუთრება.
გაიდლაინები OpenCL BSP იატაკის დაგეგმარებისთვის
- დაიწყეთ ბრტყელი კომპილაციით იმის გასაგებად, თუ სად არის განთავსებული BSP-ის ყველა ძირითადი კომპონენტი ბუნებრივად (განსაკუთრებით IP ბლოკები I/O კავშირებით, როგორიცაა PCIe ან DDR). BSP-ის დაპროექტებისას შეიძლება დაგჭირდეთ მილსადენის დაარსების განხილვაtagარის IP-ებს შორის დროის დახურვისთვის. თქვენ ჯერ უნდა აწარმოოთ ბრტყელი კომპილაციის თესლის წმენდა, რათა დაადგინოთ განმეორებითი წარუმატებლობის ბილიკები და შემდეგ სცადოთ მათი გამოსწორება.
რჩევა: — დროებითი დახურვის კარგი მაჩვენებელი ბრტყელი კომპილირებული თესლების გაწმენდის დროს ექნება უფრო მაღალი შანსები დახუროს ბაზის კომპილაციის დრო.
— თუ შეამჩნევთ მუდმივ წარუმატებლობას mm_interconnect*-ში (კომპონენტი დამატებულია Qsys-ის მიერ), გახსენით სისტემა Qsys Interconnect-ით viewდააკვირდით გაუმართავი ურთიერთკავშირის სირთულეს. თქვენ შეგიძლიათ დაამატოთ მილსადენის ფლიპფლოპები მასში viewდროის გასაუმჯობესებლად. თუ მაინც ვერ შეძლებთ პრობლემის მოგვარებას, შესაძლოა დაგჭირდეთ mm_interconnect* კრიტიკული ბილიკის დაშლა Avalon მილსადენის ხიდების დამატებით. - ბაზის შედგენისას დაიწყეთ LogicLock-ით ბირთვის რეგიონში, რომელიც შეიცავს freeze_wrapper_inst|kernel_system_inst. სხვა შეზღუდვების გარეშე, Intel Quartus Prime-ს შეუძლია თავისუფლად მოათავსოს BSP აპარატურა ჩიპის დარჩენილ სტატიკური რეგიონში. გამოიყენეთ ბრტყელი კომპილაცია და ჩიპების დამგეგმავი BSP ტექნიკის ზომისა და მდებარეობის დასადგენად, როგორიცაა PCIe და DDR. შემდეგ, შეინახეთ ბირთვის რეგიონი LogicLock-ის გამოყენებით, ხოლო თავიდან აიცილეთ BSP აპარატურის ძირითადი კლასტერული არეები.
რჩევა: თუ გამოყენებული ჩიპების ოჯახი იგივეა, რაც საცნობარო პლატფორმა და თუ BSP კომპონენტები მსგავსია, შეიძლება უფრო სწრაფი იყოს LogicLock რეგიონებით დაწყება freeze_wrapper_inst|kernel_system_inst-ისთვის, რომელიც გაიგზავნება OpenCL-ის მითითებით BSP-თან ერთად და დაამუშავეთ წარუმატებლობები. - თქვენ შეგიძლიათ დაამატოთ შემდეგი დამატებითი კომპონენტები თქვენს BSP-ს:
— მეხსიერების ბანკები: თუ დაამატებთ მეხსიერების მეტ ბანკს, უნდა დაადგინოთ I/O ბანკის მდებარეობა, რადგან შეიძლება დაგჭირდეთ მილსადენის ხიდების დამატება დროის შესასრულებლად.
— I/O არხები: შეგიძლიათ დაამატოთ I/O არხები, როგორიცაა ვიდეო, Ethernet ან სერიული ინტერფეისი. თუ თქვენ დაამატებთ I/O არხებს, უნდა განსაზღვროთ I/O ბანკის მდებარეობა, რადგან შესაძლოა დაგჭირდეთ ახალი LogicLock რეგიონების გამოყენება მილსადენებისთვის, თუ დახურვის დრო რთულია.
რჩევა: თუ საჭიროა მილსადენის ხიდების დამატება (მაგampდიდი მარშრუტიზაციის შეფერხების გამო, რაც იწვევს დროის უკმარისობას), შემდეგ გაითვალისწინეთ მარშრუტიზაციის მანძილი წყაროდან დანიშნულების ლოგიკამდე ჩიპში და გაათავისუფლეთ გარკვეული სივრცე ბირთვის რეგიონისთვის. - მიჰყევით ამ ზოგად ინსტრუქციას LogicLock რეგიონების ბირთვისთვის დაჯავშნისას:
— შეეცადეთ განათავსოთ ყველა DSP სვეტი kernel_system-ში, თუ ამას არ მოითხოვს BSP.
— შეეცადეთ შეინახოთ მეტი რესურსი kernel_system-ისთვის.
- შეეცადეთ მინიმუმამდე დაიყვანოთ წიაღების რაოდენობა ბირთვის რეგიონში.
შემდეგი ფიგურა ასახავს ჭრილს, რომელიც დაემატა მილსადენის ხიდის დასაყენებლად PCIe-სა და DDR ბანკს შორის.
სურათი 1. OpenCL BSP იატაკის გეგმა Intel Arria® 10 GX-ისთვის 17.0 გამოშვებაში
ინსტრუქციები მაქსიმალური საოპერაციო სიხშირისთვის
ბირთვების მიერ მიღწეული მაქსიმალური ოპერაციული სიხშირე (fmax) დიდწილად დამოკიდებულია FPGA სიჩქარეზე, რადგან IP-ების უმეტესობა უკვე უნდა იყოს ოპტიმიზირებული. თუმცა, შეიძლება იყოს fmax-ის გარკვეული დანაკარგები, რაც დამოკიდებულია BSP იატაკის გეგმაზე. მაგampროგორც წესი, BSP-ის ბირთვის რეგიონში ამოჭრილთა რაოდენობა გავლენას ახდენს ბირთვის fmax-ზე.
როგორც ილუსტრირებულია შემდეგ ფიგურაში, საუკეთესო საბაზისო თესლის შესაძენად, რომელიც იძლევა საუკეთესო საშუალო fmax-ს:
- შეასრულეთ თესლის წმენდა ბაზის კომპილაციაზე, ნაცვლად იმისა, რომ აირჩიოთ პირველი საბაზო თესლი, რომელიც აკმაყოფილებს დროს.
- შეასრულეთ იმპორტის კომპილაცია (მაგალითად, რამდენიმე ბირთვის გამოყენებითample designs) ყველა გამვლელ ფუძის თესლზე.
- გამოთვალეთ საშუალო fmax ყველა ძირითადი თესლისთვის.
- აირჩიეთ საბაზისო თესლი, რომელიც იძლევა ყველაზე მაღალ საშუალო fmax-ს.
საბაზისო თესლი საუკეთესო საშუალო fmax-ით არის კარგი კანდიდატი BSP-ით გამოსაშვებად. თუ გადაწყვეტთ მიჰყვეთ მიდგომას, რომელიც განსხვავდება რეკომენდებული ნაბიჯებისგან, შეგიძლიათ დააკვირდეთ 5-10% ცვალებადობას ბირთვის იმპორტის შედგენის პროცესის fmax-ში.
სურათი 2. საუკეთესო ბაზის თესლის იდენტიფიცირება
- იმის გასაგებად, თუ რამდენად სწრაფად შეიძლება იმუშაოს ბირთვი იატაკის გეგმის შეზღუდვების გარეშე:
1. შეასრულეთ ბირთვის ბრტყელი კომპილაცია და დააკვირდით fmax-ს.
2. შეასრულეთ იმპორტის კომპილაცია იმავე ბირთვზე და დააკვირდით fmax-ს.
3. შეადარეთ fmax შედეგები.
იატაკის გეგმის შეზღუდვების გამო, იმპორტის კომპილის fmax ყოველთვის დაბალია, ვიდრე ბრტყელი კომპილაციის fmax. თესლის ხმაურის თავიდან აცილების მიზნით, შეადგინეთ ბირთვი მეტი ბაზის თესლით და გაითვალისწინეთ საშუალო fmax fmax შედეგების შედარებისას. - არასოდეს შეადაროთ kernel fmax საბაზისო კომპილაციიდან ბინა ან იმპორტის კომპილაციასთან. ბირთვის საათის სამიზნეები მოდუნებულია ბაზის შედგენის დროს და, შესაბამისად, ვერასდროს მიიღებთ კარგ შედეგებს.
- დააკვირდით ბირთვის საათის კრიტიკულ გზას ბაზის ან იმპორტის კომპილაციაში. თუ კრიტიკული გზა კვეთს ბირთვიდან სტატიკურ რეგიონში იატაკის გეგმაში, შეცვალეთ იატაკის გეგმა ან გაუშვით კიდევ რამდენიმე საბაზისო თესლი, რათა თავიდან აიცილოთ ეს კრიტიკული გზა.
გაიდლაინები BSP რესურსების გამოყენების ეფექტურობის შესაფასებლად
რაც უფრო მაღალია რესურსების გამოყენების პროცენტიtagე, მით უკეთესია ფართობის გამოყენება თქვენი BSP-ის სტატიკური ზონაში. რესურსების გამოყენების მაღალი პროცენტიtage ასევე გულისხმობს, რომ მეტი რესურსი ხელმისაწვდომია ბირთვის რეგიონისთვის.
მიჰყევით ქვემოთ მოცემულ ნაბიჯებს რესურსის გამოყენების პროცენტის გამოსათვლელადtagთქვენი BSP-ის e:
- მიიღეთ FPGA-ში არსებული ყველა რესურსის მნიშვნელობები top.fit.rpt ან base.fit.rpt, რომლებიც ხელმისაწვდომია დანაყოფის სტატისტიკის განყოფილებაში Fitter ანგარიშის.
- გამოქვითეთ მნიშვნელობა „freeze_wrapper_inst|kernel_system_inst“-ისთვის (ბირთის რეგიონი).
რჩევა:
მეტი ფოკუსირება ადაპტური ლოგიკის მოდულის (ALM) მნიშვნელობებზე, ვიდრე სხვა რესურსების მნიშვნელობებზე. დარწმუნდით, რომ რესურსის გამოყენების პროცენტიtage ALM-ისთვის უფრო ახლოს არის OpenCL მითითება BSP-თან. ძალიან მაღალი პროცენტიაtage ALM-ისთვის შეიძლება გამოიწვიოს შეშუპება, რამაც შეიძლება გაზარდოს კომპილაციის დრო და დანერგოს მარშრუტიზაციის შეშუპება რთულ ბირთვებში. თუმცა, თქვენ ყოველთვის შეგიძლიათ გაზარდოთ ან შეამციროთ სტატიკური რეგიონის ფართობი და დააკვირდეთ შედგენის დროს და fmax-ს.
შემდეგი ცხრილი ასახავს Arria ® 10 GX მოწყობილობების OpenCL BSP რესურსის გამოყენებას 17.0 გამოშვებაში.
ცხრილი 1.
OpenCL BSP რესურსის გამოყენება IntelArria 10 GX მოწყობილობების 17.0 გამოშვებაში
სულ ხელმისაწვდომია | დაჯავშნილია კერნელისთვის | ხელმისაწვდომია BSP-სთვის | გამოიყენება BSP-ის მიერ | 0/0 | |
ალმ | 427200 | 393800 | 33400 | 23818. | 71.% |
რეგისტრირებს | 1708800 | 1575200 | 133600 | 38913 | 29.% |
M2OK | 2713 | 2534 | 179 | 134 | 75.% |
DSP | 1518 | 1518 | 0 | 0 | N/A |
დააკვირდით, რომ იატაკის დაგეგმარება შესრულებულია ისე, რომ სტატიკური რეგიონს არ ექნება DSP ბლოკები.
დოკუმენტის რევიზიის ისტორია
ცხრილი 2.
Intel FPGA SDK-ის დოკუმენტის გადასინჯვის ისტორია OpenCL Board-ის მხარდაჭერის პაკეტის იატაკის გეგმის ოპტიმიზაციის სახელმძღვანელო
თარიღი | ვერსია | ცვლილებები |
აგვისტო-17 | თავდაპირველი გამოშვება. |
ონლაინ ვერსია
გამოხმაურების გაგზავნა
ID: 683312
AN-824
ვერსია: 2017.08.08
AN 824: Intel® FPGA SDK OpenCL™ დაფისთვის
მხარდაჭერის პაკეტი Floorplan ოპტიმიზაციის სახელმძღვანელო
დოკუმენტები / რესურსები
![]() |
intel AN 824 FPGA SDK OpenCL Board Support Package Floorplan [pdf] მომხმარებლის სახელმძღვანელო AN 824 FPGA SDK OpenCL Board Support Package Floorplan, AN 824, FPGA SDK OpenCL Board Support Package Floorplan, OpenCL Board Support Package Floorplan, Board Support Package Floorplan, Support Package Floorplan, Package Floorplan, Floorplan |