Intel FPGA პროგრამირებადი აჩქარების ბარათი D5005
ამ დოკუმენტის შესახებ
ეს დოკუმენტი აღწერს პირდაპირი მეხსიერების წვდომის (DMA) ამაჩქარებლის ფუნქციონალური ერთეულის (AFU) განხორციელებას და როგორ უნდა ავაშენოთ დიზაინი, რომ იმუშაოს აპარატურაზე ან სიმულაციაში.
განკუთვნილი აუდიტორია
სამიზნე აუდიტორია მოიცავს ტექნიკის ან პროგრამული უზრუნველყოფის დეველოპერებს, რომლებსაც ესაჭიროებათ ამაჩქარებლის ფუნქცია (AF) მონაცემთა ლოკალური ბუფერისთვის Intel FPGA მოწყობილობასთან დაკავშირებულ მეხსიერებაში.
კონვენციები
დოკუმენტის კონვენციები
კონვენცია | აღწერა |
# | წინ უძღვის ბრძანებას, რომელიც მიუთითებს, რომ ბრძანება უნდა შევიდეს როგორც root. |
$ | მიუთითებს, რომ ბრძანება უნდა იყოს შეყვანილი როგორც მომხმარებელი. |
ეს შრიფტი | Fileსახელები, ბრძანებები და საკვანძო სიტყვები იბეჭდება ამ შრიფტით. ამ შრიფტით იბეჭდება გრძელი ბრძანების ხაზები. მიუხედავად იმისა, რომ გრძელი ბრძანების ხაზები შეიძლება გადაიტანოს შემდეგ სტრიქონზე, დაბრუნება არ არის ბრძანების ნაწილი; არ დააჭიროთ enter. |
მიუთითებს ადგილის დამჭერის ტექსტი, რომელიც გამოჩნდება კუთხის ფრჩხილებს შორის, უნდა შეიცვალოს შესაბამისი მნიშვნელობით. არ შეიყვანოთ კუთხის ფრჩხილებში. |
აკრონიმები
აკრონიმები
აკრონიმები | გაფართოება | აღწერა |
AF | ამაჩქარებლის ფუნქცია | შედგენილი აპარატურის ამაჩქარებლის სურათი, დანერგილი FPGA ლოგიკაში, რომელიც აჩქარებს აპლიკაციას. |
AFU | ამაჩქარებლის ფუნქციური ერთეული | ტექნიკის ამაჩქარებელი დანერგილი FPGA ლოგიკაში, რომელიც გადმოტვირთავს გამოთვლით ოპერაციას აპლიკაციისთვის CPU-დან მუშაობის გასაუმჯობესებლად. |
API | აპლიკაციის პროგრამირების ინტერფეისი | პროგრამული აპლიკაციების შესაქმნელად ქვეპროექტის განმარტებების, პროტოკოლებისა და ხელსაწყოების ნაკრები. |
CCI-P | ძირითადი ქეში ინტერფეისი | CCI-P არის სტანდარტული ინტერფეისი AFU, რომელსაც იყენებენ ჰოსტთან კომუნიკაციისთვის. |
DFH | მოწყობილობის მახასიათებლების სათაური | ქმნის ფუნქციების სათაურების დაკავშირებულ სიას, რათა უზრუნველყოს ფუნქციების დამატების გაფართოებული გზა. |
განაგრძო… |
ინტელის კორპორაცია. Ყველა უფლება დაცულია. Intel, Intel-ის ლოგო და სხვა Intel ნიშნები არის Intel Corporation-ის ან მისი შვილობილი კომპანიების სავაჭრო ნიშნები. Intel იძლევა გარანტიას მისი FPGA და ნახევარგამტარული პროდუქტების შესრულებაზე მიმდინარე სპეციფიკაციების შესაბამისად Intel-ის სტანდარტული გარანტიის შესაბამისად, მაგრამ იტოვებს უფლებას ნებისმიერ დროს შეიტანოს ცვლილებები ნებისმიერ პროდუქტსა და სერვისში შეტყობინების გარეშე. Intel არ იღებს პასუხისმგებლობას ან პასუხისმგებლობას, რომელიც წარმოიქმნება აქ აღწერილი ნებისმიერი ინფორმაციის, პროდუქტის ან სერვისის აპლიკაციის ან გამოყენების შედეგად, გარდა იმ შემთხვევისა, რაც წერილობით არის დათანხმებული Intel-ის მიერ. Intel-ის მომხმარებლებს ურჩევენ, მიიღონ მოწყობილობის სპეციფიკაციების უახლესი ვერსია, სანამ დაეყრდნონ რაიმე გამოქვეყნებულ ინფორმაციას და განათავსონ შეკვეთები პროდუქტებსა და სერვისებზე. *სხვა სახელები და ბრენდები შეიძლება გამოცხადდეს, როგორც სხვისი საკუთრება.
აკრონიმები | გაფართოება | აღწერა |
FIM | FPGA ინტერფეისის მენეჯერი | FPGA აპარატურა, რომელიც შეიცავს FPGA ინტერფეისის ერთეულს (FIU) და გარე ინტერფეისებს მეხსიერებისთვის, ქსელისთვის და ა.შ.
ამაჩქარებლის ფუნქცია (AF) ურთიერთობს FIM-თან მუშაობის დროს. |
FIU | FPGA ინტერფეისის ერთეული | FIU არის პლატფორმის ინტერფეისის ფენა, რომელიც მოქმედებს როგორც ხიდი პლატფორმის ინტერფეისებს შორის, როგორიცაა PCIe*, UPI და AFU-ის მხარის ინტერფეისები, როგორიცაა CCI-P. |
MPF | მეხსიერების თვისებების ქარხანა | MPF არის ძირითადი სამშენებლო ბლოკი (BBB), რომელიც AFU-ებს შეუძლიათ გამოიყენონ CCI-P ტრაფიკის ფორმირების ოპერაციების უზრუნველსაყოფად FIU-სთან ტრანზაქციებისთვის. |
აჩქარების ლექსიკონი
Acceleration Stack Intel® Xeon® CPU-სთვის FPGA-ების ტერმინებით
ვადა | აბრევიატურა | აღწერა |
Intel® Acceleration Stack Intel Xeon® CPU-სთვის FPGA-ებით | აჩქარების დასტა | პროგრამული უზრუნველყოფის, პროგრამული უზრუნველყოფის და ხელსაწყოების კრებული, რომელიც უზრუნველყოფს შესრულების ოპტიმიზებულ კავშირს Intel FPGA-სა და Intel Xeon პროცესორს შორის. |
Intel FPGA პროგრამირებადი აჩქარების ბარათი | Intel FPGA PAC | PCIe FPGA ამაჩქარებლის ბარათი.
შეიცავს FPGA ინტერფეისის მენეჯერს (FIM), რომელიც წყვილდება Intel Xeon პროცესორთან PCIe ავტობუსით. |
- DMA Accelerator ფუნქციური ერთეულის მომხმარებლის სახელმძღვანელო: Intel FPGA პროგრამირებადი აჩქარების ბარათი D5005
DMA AFU აღწერა
შესავალი
პირდაპირი მეხსიერების წვდომა (DMA) AFU example გვიჩვენებს, თუ როგორ უნდა მართოთ მეხსიერების გადაცემა ჰოსტ პროცესორსა და FPGA-ს შორის. თქვენ შეგიძლიათ ჩართოთ DMA AFU თქვენს დიზაინში, რათა გადაიტანოთ მონაცემები ჰოსტის მეხსიერებასა და FPGA ლოკალურ მეხსიერებას შორის. DMA AFU მოიცავს შემდეგ ქვემოდულებს:
- Memory Properties Factory (MPF) ძირითადი სამშენებლო ბლოკი (BBB)
- ძირითადი ქეში ინტერფეისი (CCI-P) Avalon® მეხსიერების რუკაზე (Avalon-MM) ადაპტერთან
- DMA ტესტის სისტემა, რომელიც შეიცავს DMA BBB-ს
ეს ქვემოდულები უფრო დეტალურად არის აღწერილი DMA AFU აპარატურის კომპონენტების თემაში ქვემოთ.
დაკავშირებული ინფორმაცია
- DMA AFU აპარატურის კომპონენტები მე-6 გვერდზე
- Avalon ინტერფეისის სპეციფიკაციები
დამატებითი ინფორმაციისთვის Avalon-MM პროტოკოლის შესახებ, მათ შორის ტრანზაქციების წაკითხვისა და ჩაწერის დროის დიაგრამების ჩათვლით.
DMA AFU პროგრამული პაკეტი
Intel Acceleration Stack for Intel Xeon CPU FPGAs პაკეტით file (*.tar.gz), მოიცავს DMA AFU exampლე. ეს ყოფილიample უზრუნველყოფს მომხმარებლის სივრცის დრაივერს. მასპინძელი აპლიკაცია იყენებს ამ დრაივერს ისე, რომ DMA გადაადგილებს მონაცემებს ჰოსტსა და FPGA მეხსიერებას შორის. აპარატურის ბინარები, წყაროები და მომხმარებლის სივრცის დრაივერი ხელმისაწვდომია შემდეგ დირექტორიაში: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu . DMA AFU-ზე ექსპერიმენტამდე, თქვენ უნდა დააინსტალიროთ Open Programmable Acceleration Engine (OPAE) პროგრამული პაკეტი. ინსტალაციის ინსტრუქციებისთვის იხილეთ OPAE პროგრამული პაკეტის ინსტალაცია Intel Acceleration Stack-ში სწრაფი დაწყების სახელმძღვანელოში Intel FPGA პროგრამირებადი Acceleration Card D5005-ისთვის. ეს სწრაფი დაწყების სახელმძღვანელო ასევე შეიცავს ძირითად ინფორმაციას ღია პროგრამირებადი აჩქარების ძრავის (OPAE) და AFU-ის კონფიგურაციის შესახებ. Open Programmable Acceleration Engine (OPAE) პროგრამული პაკეტის დაყენების შემდეგ, როგორცample host აპლიკაცია და DMA AFU მომხმარებლის სივრცის დრაივერი ხელმისაწვდომია შემდეგ დირექტორიაში: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw. გასაშვებად სampმასპინძელი აპლიკაცია, fpga_dma_test თქვენს Intel FPGA PAC D5005 აპარატურაზე, იხილეთ ნაბიჯები განყოფილებაში DMA AFU Ex გაშვებაampლე. ინტელის კორპორაცია. Ყველა უფლება დაცულია. Intel, Intel-ის ლოგო და სხვა Intel ნიშნები არის Intel Corporation-ის ან მისი შვილობილი კომპანიების სავაჭრო ნიშნები. Intel იძლევა გარანტიას მისი FPGA და ნახევარგამტარული პროდუქტების შესრულებაზე მიმდინარე სპეციფიკაციების შესაბამისად Intel-ის სტანდარტული გარანტიის შესაბამისად, მაგრამ იტოვებს უფლებას ნებისმიერ დროს შეიტანოს ცვლილებები ნებისმიერ პროდუქტსა და სერვისში შეტყობინების გარეშე. Intel არ იღებს პასუხისმგებლობას ან პასუხისმგებლობას, რომელიც წარმოიქმნება აქ აღწერილი ნებისმიერი ინფორმაციის, პროდუქტის ან სერვისის აპლიკაციის ან გამოყენების შედეგად, გარდა იმ შემთხვევისა, რაც წერილობით არის დათანხმებული Intel-ის მიერ. Intel-ის მომხმარებლებს ურჩევენ, მიიღონ მოწყობილობის სპეციფიკაციების უახლესი ვერსია, სანამ დაეყრდნონ რაიმე გამოქვეყნებულ ინფორმაციას და განათავსონ შეკვეთები პროდუქტებსა და სერვისებზე. *სხვა სახელები და ბრენდები შეიძლება გამოცხადდეს, როგორც სხვისი საკუთრება.
დაკავშირებული ინფორმაცია
- Intel Acceleration Stack Quick Start სახელმძღვანელო Intel FPGA პროგრამირებადი აჩქარების ბარათისთვის D5005
- OPAE პროგრამული პაკეტის ინსტალაცია
DMA AFU აპარატურის კომპონენტები
DMA AFU აკავშირებს FPGA ინტერფეისის ერთეულთან (FIU) და FPGA მეხსიერებასთან. იხილეთ FPGA ინტერფეისის მენეჯერის მონაცემთა ფურცელი Intel FPGA პროგრამირებადი აჩქარების ბარათისთვის D5005 FPGA მეხსიერების დეტალური მახასიათებლებისთვის. ამჟამად ხელმისაწვდომი აპარატურა კარნახობს ამ მეხსიერების კონფიგურაციას. მომავალმა აპარატურამ შეიძლება მხარი დაუჭიროს მეხსიერების სხვადასხვა კონფიგურაციას. შეგიძლიათ გამოიყენოთ DMA AFU მონაცემების კოპირებისთვის შემდეგ წყაროსა და დანიშნულების ადგილებს შორის:
- მასპინძელი მოწყობილობის FPGA მეხსიერება
- მოწყობილობის FPGA მეხსიერება მასპინძელზე
პლატფორმის დიზაინერის სისტემა, $OPAE_PLATFORM_ROOT/hw/samples/ dma_afu/hw/rtl/TEST_dma/ /dma_test_system.qsys ახორციელებს DMA-ს უმეტესობას
- AFU. პლატფორმის დიზაინერის სისტემაში დანერგილი DMA AFU-ს ნაწილი შეგიძლიათ იხილოთ შემდეგში
მდებარეობა:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/TEST_dma/ შეგიძლიათ იპოვოთ DMA BBB შემდეგ ადგილას:
- $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/dma_bbb
DMA Accelerator ფუნქციური ერთეულის მომხმარებლის სახელმძღვანელო: Intel FPGA პროგრამირებადი აჩქარების ბარათი D5005
DMA AFU აპარატურის ბლოკის დიაგრამა
DMA AFU მოიცავს შემდეგ შიდა მოდულებს FPGA ინტერფეისის ერთეულთან (FIU) დასაკავშირებლად:
- Memory-Mapped IO (MMIO) Decoder Logic: ამოიცნობს MMIO წაკითხვისა და ჩაწერის ტრანზაქციებს და გამოყოფს მათ CCI-P RX არხ 0-დან, საიდანაც ისინი მოდიან. ეს უზრუნველყოფს, რომ MMIO ტრაფიკი არასოდეს მიაღწევს MPF BBB-ს და მას ემსახურება დამოუკიდებელი MMIO ბრძანების არხი.
- Memory Properties Factory (MPF): ეს მოდული უზრუნველყოფს DMA-დან პასუხების წაკითხვას მათი გაცემის თანმიმდევრობით. Avalon-MM პროტოკოლი მოითხოვს წაკითხულ პასუხებს სწორი თანმიმდევრობით დასაბრუნებლად.
- CCI-P Avalon-MM ადაპტერზე: ეს მოდული ითარგმნება CCI-P და Avalon-MM ტრანზაქციებს შორის, შემდეგნაირად:
- CCI-P Avalon-MMIO ადაპტერზე: ეს გზა თარგმნის CCI-P MMIO ტრანზაქციებს Avalon-MM ტრანზაქციებად.
- Avalon to CCI-P ჰოსტის ადაპტერი: ეს ბილიკები ქმნიან ცალკეულ ბილიკებს მხოლოდ წაკითხვისა და ჩაწერისთვის DMA-სთვის ჰოსტის მეხსიერებაში წვდომისთვის.
- DMA ტესტის სისტემა: ეს მოდული ემსახურება როგორც შეფუთვას DMA BBB-ის გარშემო, რათა გამოავლინოს DMA ოსტატები AFU-ს დანარჩენი ლოგიკის მიმართ. ის უზრუნველყოფს ინტერფეისს DMA BBB-სა და CCI-P-ს შორის Avalon ადაპტერს შორის. ის ასევე უზრუნველყოფს ინტერფეისს DMA BBB და ადგილობრივ FPGA SDRAM ბანკებს შორის.
დაკავშირებული ინფორმაცია
FPGA ინტერფეისის მენეჯერის მონაცემთა ფურცელი Intel FPGA პროგრამირებადი აჩქარების ბარათისთვის D5005
DMA ტესტის სისტემა
DMA ტესტის სისტემა აკავშირებს DMA BBB-ს დანარჩენ FPGA დიზაინთან CCI-P ადაპტაციისა და ადგილობრივი FPGA მეხსიერების ჩათვლით.
DMA ტესტის სისტემის ბლოკ-დიაგრამა
ეს ბლოკ-სქემა გვიჩვენებს DMA ტესტის სისტემის შიდა ნაწილებს. DMA ტესტის სისტემა ნაჩვენებია მონოლითური ბლოკის სახით 1-ელ სურათზე მე-7 გვერდზე.
DMA ტესტის სისტემა მოიცავს შემდეგ შიდა მოდულებს:
- Far Reach Bridge/Pipeline Bridge: მილსადენის ხიდი რეგულირებადი შეყოვნებით, რომელიც შედის ტოპოლოგიის გასაკონტროლებლად და დიზაინის Fmax-ის გასაუმჯობესებლად.
- DMA AFU მოწყობილობის მახასიათებლების სათაური (DFH): ეს არის DFH DMA AFU-სთვის. ეს DFH მიუთითებს შემდეგ DFH-ზე, რომელიც მდებარეობს ოფსეტზე 0x100 (DMA BBB DFH).
- Null DFH: ეს კომპონენტი წყვეტს DFH დაკავშირებულ სიას. თუ დიზაინს დაამატებთ მეტ DMA BBB-ებს, დარწმუნდით, რომ null DFH საბაზისო მისამართი მდებარეობს DFH დაკავშირებული სიის ბოლოს.
- MA Basic Building Block (BBB): ეს ბლოკი გადააქვს მონაცემებს ჰოსტსა და ადგილობრივ FPGA მეხსიერებას შორის. ის ასევე წვდება მასპინძელ მეხსიერებას აღწერის ჯაჭვებზე წვდომისთვის.
DMA BBB
DMA BBB ქვესისტემა გადასცემს მონაცემებს წყაროდან დანიშნულების მისამართებამდე Avalon-MM ტრანზაქციების გამოყენებით. DMA დრაივერი აკონტროლებს DMA BBB-ს სისტემის შიგნით არსებული სხვადასხვა კომპონენტის კონტროლისა და სტატუსის რეესტრში წვდომით. DMA დრაივერი ასევე აკონტროლებს DMA BBB-ს საზიარო მეხსიერების გამოყენებით გადაცემის აღმწერების კომუნიკაციისთვის. DMA BBB წვდება FPGA მეხსიერებაში არსებულ მონაცემებს 0x0 ოფსეტურით. DMA BBB წვდება მონაცემებსა და დესკრიპტორებს ჰოსტის მეხსიერებაში ოფსეტურით 0x1_0000_0000_0000.
DMA BBB პლატფორმის დიზაინერის ბლოკის დიაგრამა
ეს ბლოკ-სქემა გამორიცხავს ზოგიერთი შიდა Pipeline Bridge IP ბირთვს.
DMA Accelerator ფუნქციური ერთეულის მომხმარებლის სახელმძღვანელო: Intel FPGA პროგრამირებადი აჩქარების ბარათი D5005
DMA AFU აღწერა
DMA BBB პლატფორმის დიზაინერის კომპონენტები ახორციელებენ შემდეგ ფუნქციებს:
- შორს მისასვლელი ხიდი/მილსადენის ხიდი: მილსადენის ხიდი რეგულირებადი შეყოვნებით, რომელიც შედის ტოპოლოგიის გასაკონტროლებლად და Fmax დიზაინის გასაუმჯობესებლად.
- MA BBB DFH: ეს არის მოწყობილობის მახასიათებლების სათაური DMA BBB-სთვის. ეს DFH მიუთითებს შემდეგ DFH-ზე, რომელიც მდებარეობს ოფსეტზე 0x100 (Null DFH).
- აღწერის წინა ნაწილი: პასუხისმგებელია აღწერების მოპოვებაზე და მათ დისპეჩერზე გადაცემაზე. როდესაც DMA გადაცემა დასრულდება, წინა ნაწილი იღებს სტატუსის ფორმირებას დისპეჩერისგან და გადაწერს აღმწერს ჰოსტის მეხსიერებაში.
- დისპეტჩერი: ეს ბლოკი გეგმავს DMA გადარიცხვების მოთხოვნებს Read and Write Master-ზე.
- წაიკითხეთ ოსტატი: ეს ბლოკი პასუხისმგებელია ჰოსტის ან ადგილობრივი FPGA მეხსიერებიდან მონაცემების წაკითხვაზე და მის ნაკადის სახით გაგზავნაზე Write Master-ზე.
- დაწერე ოსტატი: ეს ბლოკი პასუხისმგებელია სტრიმინგის მონაცემების მიღებაზე Read Master-დან და შინაარსის ჩაწერა ჰოსტში ან ადგილობრივ FPGA მეხსიერებაში.
დაარეგისტრირე რუკა და მისამართი სივრცეები
DMA AFU მხარს უჭერს ორ მეხსიერებას views: DMA view და მასპინძელი view. DMA view მხარს უჭერს 49-ბიტიან მისამართთა ადგილს. DMA-ს ქვედა ნახევარი view რუქები ადგილობრივ FPGA მეხსიერებაში. DMA-ს ზედა ნახევარი view რუქები მასპინძელი მეხსიერებისთვის. Მასპინძელი view მოიცავს ყველა რეგისტრს, რომელიც ხელმისაწვდომია MMIO წვდომის საშუალებით, როგორიცაა DFH ცხრილები, და სხვადასხვა IP ბირთვების კონტროლის/სტატუსის რეგისტრები, რომლებიც გამოიყენება DMA AFU-ში. MMIO რეგისტრირდება DMA BBB-ში და AFU-ში, მხარს უჭერს 32- და 64-ბიტიან წვდომას. DMA AFU არ უჭერს მხარს 512-ბიტიან MMIO წვდომას. დისპეჩერის რეგისტრებზე წვდომა DMA BBB-ის შიგნით უნდა იყოს 32 ბიტიანი (Descriptor frontend ახორციელებს 64-ბიტიან რეგისტრებს).
DMA AFU რეგისტრაცია რუკა
DMA AFU რეგისტრის რუკა უზრუნველყოფს განყოფილების ყველა მდებარეობის აბსოლუტურ მისამართებს. ეს რეესტრები ჰოსტშია view რადგან მხოლოდ მასპინძელს შეუძლია მათზე წვდომა.
DMA AFU მეხსიერების რუკა
ბაიტის მისამართის ოფსეტები | სახელი | სპანი ბაიტებში | აღწერა |
0x0 | DMA AFU DFH | 0x40 | მოწყობილობის ფუნქციის სათაური DMA AFU-სთვის. ID_L დაყენებულია 0x9081f88b8f655caa-ზე და ID_H დაყენებულია 0x331db30c988541ea-ზე. DMA AFU DFH პარამეტრიზებულია, რათა მიუთითოს ოფსეტური 0x100, რათა იპოვოთ შემდეგი DFH (DMA BBB DFH). თქვენ არ უნდა შეცვალოთ DMA AFU DFH-ის საბაზისო მისამართი, რადგან ის უნდა განთავსდეს მისამართზე 0x0, როგორც ეს განსაზღვრულია CCIP სპეციფიკაციით. |
0x100 | DMA BBB | 0x100 | განსაზღვრავს DMA BBB კონტროლის და სტატუსის რეგისტრის ინტერფეისს. დამატებითი ინფორმაციისთვის შეგიძლიათ მიმართოთ DMA BBB რეგისტრაციის რუკას. DMA BBB ფარგლებში ოფსეტური 0, DMA BBB მოიცავს საკუთარ DFH-ს. ეს DFH დაყენებულია შემდეგი DFH-ის მოსაძებნად 0x100 ოფსეტურით (NULL DFH). თუ დაამატებთ მეტ DMA BBB-ს, განათავსეთ ისინი ერთმანეთისგან 0x100 და დარწმუნდით, რომ NULL DFH მიჰყვება ბოლო DMA-ს 0x100-ით. |
0x200 | NULL DFH | 0x40 | წყვეტს DFH დაკავშირებულ სიას. ID_L დაყენებულია 0x90fe6aab12a0132f და ID_H დაყენებულია 0xda1182b1b3444e23. NULL DFH პარამეტრიზებულია, როგორც ბოლო DFH აპარატურაში. ამ მიზეზით NULL DFH მდებარეობს მისამართზე 0x200. თუ სისტემას დაამატებთ დამატებით DMA BBB-ებს, შესაბამისად უნდა გაზარდოთ NULL DFH საბაზისო მისამართი, რათა ის დარჩეს უმაღლეს მისამართზე. DMA დრაივერი და სატესტო აპლიკაცია არ იყენებს ამ აპარატურას. |
ინტელის კორპორაცია. Ყველა უფლება დაცულია. Intel, Intel-ის ლოგო და სხვა Intel ნიშნები არის Intel Corporation-ის ან მისი შვილობილი კომპანიების სავაჭრო ნიშნები. Intel იძლევა გარანტიას მისი FPGA და ნახევარგამტარული პროდუქტების შესრულებაზე მიმდინარე სპეციფიკაციების შესაბამისად Intel-ის სტანდარტული გარანტიის შესაბამისად, მაგრამ იტოვებს უფლებას ნებისმიერ დროს შეიტანოს ცვლილებები ნებისმიერ პროდუქტსა და სერვისში შეტყობინების გარეშე. Intel არ იღებს პასუხისმგებლობას ან პასუხისმგებლობას, რომელიც წარმოიქმნება აქ აღწერილი ნებისმიერი ინფორმაციის, პროდუქტის ან სერვისის აპლიკაციის ან გამოყენების შედეგად, გარდა იმ შემთხვევისა, რაც წერილობით არის დათანხმებული Intel-ის მიერ. Intel-ის მომხმარებლებს ურჩევენ, მიიღონ მოწყობილობის სპეციფიკაციების უახლესი ვერსია, სანამ დაეყრდნონ რაიმე გამოქვეყნებულ ინფორმაციას და განათავსონ შეკვეთები პროდუქტებსა და სერვისებზე. *სხვა სახელები და ბრენდები შეიძლება გამოცხადდეს, როგორც სხვისი საკუთრება.
დაარეგისტრირე რუკა და მისამართი სივრცეები
DMA BBB მეხსიერების რუკა
შემდეგი ბაიტის მისამართები არის შედარებითი ოფსეტები DMA BBB ბაზის მისამართიდან DMA AFU სისტემაში (0x100).
ბაიტის მისამართის ოფსეტები | სახელი | სპანი ბაიტებში | აღწერა |
0x0 | DMA BBB DFH | 0x40 | მოწყობილობის ფუნქციის სათაური DMA AFU-სთვის. ID_L დაყენებულია 0xa9149a35bace01ea-ზე და ID_H დაყენებულია 0xef82def7f6ec40fc. DMA BBB DFH პარამეტრიზებულია, რათა მიუთითოს 0x100 შემდეგი DFH ოფსეტისთვის. შემდეგი ოფსეტი შეიძლება იყოს სხვა DMA BBB, სხვა DFH (არ შედის ამ დიზაინში) ან NULL DFH. |
0x40 | დისპეტჩერი | 0x40 | საკონტროლო პორტი დისპეჩერისთვის. DMA დრაივერი იყენებს ამ მდებარეობას DMA-ის გასაკონტროლებლად ან მისი სტატუსის დასადგენად. |
0x80 | აღწერის წინა ნაწილი | 0x40 | დესკრიპტორის წინა ნაწილი არის მორგებული კომპონენტი, რომელიც კითხულობს დესკრიპტორებს ჰოსტის მეხსიერებიდან და გადაწერს აღმწერს, როდესაც DMA გადაცემა დასრულდება. დრაივერი ავალებს ფრონტენტს, სადაც პირველი აღმწერი ცხოვრობს ჰოსტის მეხსიერებაში და შემდეგ წინა ნაწილის აპარატურა დაუკავშირდება დრაივერს, ძირითადად, ჰოსტის მეხსიერებაში შენახული დესკრიპტორებით. |
DMA AFU მისამართების სივრცე
ჰოსტს შეუძლია წვდომა მე-4 გვერდის 12 ცხრილში და მე-5 გვერდზე 13 ცხრილში. DMA BBB ქვესისტემას აქვს წვდომა სრულ 49-ბიტიან მისამართთა სივრცეზე. ამ მისამართის სივრცის ქვედა ნახევარი მოიცავს ადგილობრივ FPGA მეხსიერებას. ამ მისამართების სივრცის ზედა ნახევარი მოიცავს 48-ბიტიან ჰოსტის მისამართების მეხსიერებას. შემდეგი სურათი გვიჩვენებს მასპინძელს და DMA-ს viewმეხსიერების s.
DMA AFU და მასპინძელი Viewმეხსიერების s
მოწყობილობის ფუნქციების სათაურის დაკავშირებული სია
DMA AFU დიზაინი example შეიცავს სამ მოწყობილობის მახასიათებლის სათაურს (DFH), რომლებიც ქმნიან დაკავშირებულ სიას. ეს დაკავშირებული სია საშუალებას აძლევს სampგანაცხადი DMA AFU-ის იდენტიფიცირებისთვის, ისევე როგორც დრაივერი DMA BBB-ის იდენტიფიცირებისთვის. DFH სიაში ბოლოს არის NULL DFH. ნულოვანი DFH-ის ჩართვა დაკავშირებული სიის ბოლოს საშუალებას გაძლევთ დაამატოთ მეტი DMA BBB თქვენს დიზაინს. თქვენ უბრალოდ უნდა გადაიტანოთ NULL DFH სხვა BBB-ების შემდეგ მისამართზე. თითოეული DMA BBB მოელის, რომ შემდეგი DFH განთავსდება 0x100 ბაიტით BBB-ის საბაზისო მისამართიდან. შემდეგი სურათი ასახავს დაკავშირებულ სიას DMA AFU დიზაინისთვის exampლე.
დაარეგისტრირე რუკა და მისამართი სივრცეები
DMA AFU Device Feature Header (DFH) Chaining
პროგრამული პროგრამირების მოდელი
DMA AFU მოიცავს პროგრამული უზრუნველყოფის დრაივერს, რომელიც შეგიძლიათ გამოიყენოთ თქვენს საკუთარ მასპინძელ აპლიკაციაში. fpga_dma.cpp და fpga_dma.h files, რომელიც მდებარეობს შემდეგ ადგილას, დანერგეთ პროგრამული უზრუნველყოფის დრაივერი:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw ეს დრაივერი მხარს უჭერს შემდეგ ფუნქციებს:
API | აღწერა |
fpgaCountDMACchannels | სკანირებს მოწყობილობის ფუნქციების ჯაჭვს DMA BBB-ებისთვის და ითვლის ყველა ხელმისაწვდომ არხს. |
fpgaDMAOpen | ხსნის სახელურს DMA არხზე. |
fpgaDMAClose | ხურავს სახელურს DMA არხთან. |
fpgaDMATtransferInit | ახდენს ობიექტის ინიცირებას, რომელიც წარმოადგენს DMA გადაცემას. |
fpgaDMATtransferReset | აღადგენს DMA გადაცემის ატრიბუტის ობიექტს ნაგულისხმევ მნიშვნელობებზე. |
fpgaDMATtransferDestroy | ანადგურებს DMA გადაცემის ატრიბუტის ობიექტს. |
fpgaDMATtransferSetSrc | ადგენს გადაცემის წყაროს მისამართს. ეს მისამართი უნდა იყოს გასწორებული 64 ბაიტით. |
fpgaDMATtransferSetDst | ადგენს გადარიცხვის დანიშნულების მისამართს. ეს მისამართი უნდა იყოს გასწორებული 64 ბაიტით. |
fpgaDMATtransferSetLen | ადგენს გადაცემის სიგრძეს ბაიტებში. არაპაკეტური გადარიცხვებისთვის, თქვენ უნდა დააყენოთ გადაცემის სიგრძე 64 ბაიტის ჯერადად. პაკეტის გადარიცხვისთვის, ეს არ არის მოთხოვნა. |
fpgaDMATtransferSetTransferType | ადგენს გადაცემის ტიპს. სამართლებრივი ღირებულებებია:
• HOST_MM_TO_FPGA_MM = TX (მასპინძელი AFU-სთვის) • FPGA_MM_TO_HOST_MM = RX (AFU მასპინძელზე) |
fpgaDMATtransferSetTransferCallback | რეგისტრირებს გამოძახებას ასინქრონული გადაცემის დასრულების შესახებ შეტყობინებისთვის. თუ თქვენ მიუთითებთ გამოძახებას, fpgaDMATtransfer დაუყოვნებლივ ბრუნდება (ასინქრონული გადაცემა).
თუ არ მიუთითებთ გამოძახებას, fpgaDMATtransfer ბრუნდება გადაცემის დასრულების შემდეგ (სინქრონული/დაბლოკილი გადაცემა). |
fpgaDMATtransferSetLast | მიუთითებს ბოლო გადარიცხვაზე, რათა DMA-მ შეძლოს წინასწარ მოძიებული გადარიცხვების დამუშავება. ნაგულისხმევი მნიშვნელობა არის 64 გადარიცხვა მილსადენში, სანამ DMA დაიწყებს გადარიცხვებზე მუშაობას. |
fpgaDMATტრანსფერი | ასრულებს DMA გადაცემას. |
API-ს, შეყვანის და გამომავალი არგუმენტების შესახებ მეტი ინფორმაციისთვის იხილეთ სათაური file მდებარეობს $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw/fpga_dma.hIntel Corporation. Ყველა უფლება დაცულია. Intel, Intel-ის ლოგო და სხვა Intel ნიშნები არის Intel Corporation-ის ან მისი შვილობილი კომპანიების სავაჭრო ნიშნები. Intel იძლევა გარანტიას მისი FPGA და ნახევარგამტარული პროდუქტების შესრულებაზე მიმდინარე სპეციფიკაციების შესაბამისად Intel-ის სტანდარტული გარანტიის შესაბამისად, მაგრამ იტოვებს უფლებას ნებისმიერ დროს შეიტანოს ცვლილებები ნებისმიერ პროდუქტსა და სერვისში შეტყობინების გარეშე. Intel არ იღებს პასუხისმგებლობას ან პასუხისმგებლობას, რომელიც წარმოიქმნება აქ აღწერილი ნებისმიერი ინფორმაციის, პროდუქტის ან სერვისის აპლიკაციის ან გამოყენების შედეგად, გარდა იმ შემთხვევისა, რაც წერილობით არის დათანხმებული Intel-ის მიერ. Intel-ის მომხმარებლებს ურჩევენ, მიიღონ მოწყობილობის სპეციფიკაციების უახლესი ვერსია, სანამ დაეყრდნონ რაიმე გამოქვეყნებულ ინფორმაციას და განათავსონ შეკვეთები პროდუქტებსა და სერვისებზე. სხვა სახელები და ბრენდები შეიძლება მოითხოვონ, როგორც სხვების საკუთრება.
პროგრამული პროგრამირების მოდელი
დამატებითი ინფორმაციისთვის პროგრამული უზრუნველყოფის დრაივერის გამოყენების მოდელის შესახებ, იხილეთ README file მდებარეობს $OPAE_PLATFORM_ROOT/hw/s-ზეamples/dma_afu/README.md
გაშვებული DMA AFU Example
სანამ დაიწყებთ:
- უნდა იცნობდე ყოფილსampეს არის Intel Acceleration Stack-ის სწრაფი დაწყების სახელმძღვანელო Intel FPGA პროგრამირებადი აჩქარების ბარათისთვის D5005.
- თქვენ უნდა განსაზღვროთ გარემოს ცვლადი. გარემოს ცვლადი დამოკიდებულია Intel Acceleration Stack ვერსიაზე, რომელსაც იყენებთ:
- მიმდინარე ვერსიისთვის დააყენეთ გარემოს ცვლადი $OPAE_PLATFORM_ROOT
- თქვენ უნდა დააინსტალიროთ Intel Threading Building Blocks (TBB) ბიბლიოთეკა, რადგან DMA დრაივერი მასზეა დამოკიდებული.
- თქვენ ასევე უნდა დააყენოთ ორი 1 GB უზარმაზარი გვერდი s-ის გასაშვებადampგანაცხადი. $ sudo sh -c „echo 2 > /sys/kernel/mm/hugepages/hugepages-1048576kB/ nr_hugepages“
შეასრულეთ შემდეგი ნაბიჯები DMA Accelerator Function (AF) ბიტტრიმინგის ჩამოსატვირთად, აპლიკაციისა და დრაივერის შესაქმნელად და დიზაინის ყოფილი გასაშვებადampლე:
- შეცვალეთ DMA აპლიკაციისა და დრაივერის დირექტორიაში: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
- შექმენით დრაივერი და აპლიკაცია: გააკეთეთ
- ჩამოტვირთეთ DMA AFU bitstream: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
- შეასრულეთ ჰოსტის აპლიკაცია, რომ ჩაწეროთ 100 მბ 1 მბ ნაწილებში ჰოსტის მეხსიერებიდან FPGA მოწყობილობის მეხსიერებაში და წაიკითხეთ იგი უკან: ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom
დაკავშირებული ინფორმაცია
Intel Acceleration Stack Quick Start სახელმძღვანელო Intel FPGA პროგრამირებადი აჩქარების ბარათისთვის D5005 Intel Corporation. Ყველა უფლება დაცულია. Intel, Intel-ის ლოგო და სხვა Intel ნიშნები არის Intel Corporation-ის ან მისი შვილობილი კომპანიების სავაჭრო ნიშნები. Intel იძლევა გარანტიას მისი FPGA და ნახევარგამტარული პროდუქტების შესრულებაზე მიმდინარე სპეციფიკაციების შესაბამისად Intel-ის სტანდარტული გარანტიის შესაბამისად, მაგრამ იტოვებს უფლებას ნებისმიერ დროს შეიტანოს ცვლილებები ნებისმიერ პროდუქტსა და სერვისში შეტყობინების გარეშე. Intel არ იღებს პასუხისმგებლობას ან პასუხისმგებლობას, რომელიც წარმოიქმნება აქ აღწერილი ნებისმიერი ინფორმაციის, პროდუქტის ან სერვისის აპლიკაციის ან გამოყენების შედეგად, გარდა იმ შემთხვევისა, რაც წერილობით არის დათანხმებული Intel-ის მიერ. Intel-ის მომხმარებლებს ურჩევენ, მიიღონ მოწყობილობის სპეციფიკაციების უახლესი ვერსია, სანამ დაეყრდნონ რაიმე გამოქვეყნებულ ინფორმაციას და განათავსონ შეკვეთები პროდუქტებსა და სერვისებზე. *სხვა სახელები და ბრენდები შეიძლება გამოცხადდეს, როგორც სხვისი საკუთრება.
შედგენა DMA AFU Example
AF-ის შედგენისთვის სინთეზური build გარემოს შესაქმნელად, გამოიყენეთ afu_synth_setup ბრძანება შემდეგნაირად:
- შეცვლა DMA AFU s-ზეampდირექტორია: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- შექმენით დიზაინის შექმნის დირექტორია: afu_synth_setup –source hw/rtl/filelist.txt build_synth
- afu_synth_setup-ის მიერ გენერირებული synthesis build დირექტორიადან, შეიყვანეთ შემდეგი ბრძანებები ტერმინალის ფანჯრიდან სამიზნე ტექნიკის პლატფორმისთვის AF გენერირებისთვის: cd build_synth run.sh run.sh AF გენერაციის სკრიპტი ქმნის AF სურათს იმავე ბაზით. fileსახელი, როგორც AFU-ს პლატფორმის კონფიგურაცია file (.json) .gbs სუფიქსით მდებარეობაზე:$OPAE_PLATFORM_ROOT/hw/samples/build_synth/dma_afu_s10.gbs Intel Corporation. Ყველა უფლება დაცულია. Intel, Intel-ის ლოგო და სხვა Intel ნიშნები არის Intel Corporation-ის ან მისი შვილობილი კომპანიების სავაჭრო ნიშნები. Intel იძლევა გარანტიას მისი FPGA და ნახევარგამტარული პროდუქტების შესრულებაზე მიმდინარე სპეციფიკაციების შესაბამისად Intel-ის სტანდარტული გარანტიის შესაბამისად, მაგრამ იტოვებს უფლებას ნებისმიერ დროს შეიტანოს ცვლილებები ნებისმიერ პროდუქტსა და სერვისში შეტყობინების გარეშე. Intel არ იღებს პასუხისმგებლობას ან პასუხისმგებლობას, რომელიც წარმოიქმნება აქ აღწერილი ნებისმიერი ინფორმაციის, პროდუქტის ან სერვისის აპლიკაციის ან გამოყენების შედეგად, გარდა იმ შემთხვევისა, რაც წერილობით არის დათანხმებული Intel-ის მიერ. Intel-ის მომხმარებლებს ურჩევენ მიიღონ მოწყობილობის სპეციფიკაციების უახლესი ვერსია, სანამ დაეყრდნონ რაიმე გამოქვეყნებულ ინფორმაციას და განათავსონ შეკვეთები პროდუქტებსა და სერვისებზე. *სხვა სახელები და ბრენდები შეიძლება გამოცხადდეს, როგორც სხვისი საკუთრება.
სიმულაცია AFU Example
Intel გირჩევთ გაეცნოთ Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE) სწრაფი დაწყების სახელმძღვანელოს თქვენი Intel FPGA PAC-ისთვის, რომ იცოდეთ მსგავსი ყოფილი სიმულაციის შესახებ.amples და თქვენი გარემოს დაყენება. სანამ გააგრძელებთ შემდეგ ნაბიჯებს, დარწმუნდით, რომ OPAE_PLATFORM_ROOT გარემოს ცვლადი დაყენებულია OPAE SDK ინსტალაციის დირექტორიაში. შეასრულეთ შემდეგი ნაბიჯები DMA AFU-სთვის ტექნიკის სიმულატორის დასაყენებლად:
- შეცვლა DMA AFU s-ზეampდირექტორია: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- შექმენით ASE გარემო ახალ დირექტორიაში და დააკონფიგურირეთ იგი AFU-ის სიმულაციისთვის: afu_sim_setup –source hw/rtl/filelist.txt build_ase_dir
- შეცვალეთ ASE build დირექტორიაში: cd build_ase_dir
- შექმენით დრაივერი და აპლიკაცია: გააკეთეთ
- სიმულაციის გაკეთება: სიმულაციის გაკეთება
Sampგამომავალი ტექნიკის სიმულატორიდან:
[SIM] ** ყურადღება: პროგრამული აპლიკაციის გაშვებამდე ** [SIM] დააყენეთ env(ASE_WORKDIR) ტერმინალში, სადაც აპლიკაცია იმუშავებს (კოპირება და ჩასმა) => [SIM] $SHELL | გაშვება:[SIM] ———+————————————————— [SIM] bash/zsh | ექსპორტი ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/ase_mkdir/work [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/ase_mkdir/work [SIM] ნებისმიერი სხვა $SHELL-ისთვის მიმართეთ თქვენს Linux ადმინისტრატორს [SIM] [SIM] მზადაა სიმულაციისთვის… [SIM] დააჭირეთ CTRL-C სიმულატორის დახურვისთვის…დაასრულეთ შემდეგი ნაბიჯები DMA AFU პროგრამული უზრუნველყოფის შედგენისა და შესასრულებლად სიმულაციური გარემოში:
- გახსენით ახალი ტერმინალის ფანჯარა.
- შეცვალეთ დირექტორია: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
ინტელის კორპორაცია. Ყველა უფლება დაცულია. Intel, Intel-ის ლოგო და სხვა Intel ნიშნები არის Intel Corporation-ის ან მისი შვილობილი კომპანიების სავაჭრო ნიშნები. Intel იძლევა გარანტიას მისი FPGA და ნახევარგამტარული პროდუქტების შესრულებაზე მიმდინარე სპეციფიკაციების შესაბამისად Intel-ის სტანდარტული გარანტიის შესაბამისად, მაგრამ იტოვებს უფლებას ნებისმიერ დროს შეიტანოს ცვლილებები ნებისმიერ პროდუქტსა და სერვისში შეტყობინების გარეშე. Intel არ იღებს პასუხისმგებლობას ან პასუხისმგებლობას, რომელიც წარმოიქმნება აქ აღწერილი ნებისმიერი ინფორმაციის, პროდუქტის ან სერვისის აპლიკაციის ან გამოყენების შედეგად, გარდა იმ შემთხვევისა, რაც წერილობით არის დათანხმებული Intel-ის მიერ. Intel-ის მომხმარებლებს ურჩევენ, მიიღონ მოწყობილობის სპეციფიკაციების უახლესი ვერსია, სანამ დაეყრდნონ რაიმე გამოქვეყნებულ ინფორმაციას და განათავსონ შეკვეთები პროდუქტებსა და სერვისებზე. *სხვა სახელები და ბრენდები შეიძლება გამოცხადდეს, როგორც სხვისი საკუთრება.
სიმულაცია AFU Example
- დააკოპირეთ გარემოს დაყენების სტრიქონი (აირჩიეთ თქვენი გარსისთვის შესაბამისი სტრიქონი) ტექნიკის სიმულაციის ზემოთ მოცემული ნაბიჯებიდან ტერმინალის ფანჯარაში. იხილეთ შემდეგი სტრიქონები სampგამომავალი ტექნიკის სიმულატორიდან. [SIM] bash/zsh | ექსპორტი ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/build_ase_dir/work [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/build_ase_dir/work
- პროგრამული უზრუნველყოფის შედგენა: $ make USE_ASE=1
- შეასრულეთ ჰოსტის აპლიკაცია, რომ ჩაწეროთ 4 კბაიტი 1 კბაიტიან ნაწილებში, ჰოსტის მეხსიერებიდან FPGA მოწყობილობის მეხსიერებაში უკან, loopback რეჟიმში: ./ fpga_dma_test -s 4096 -p 1024 -r mtom
დაკავშირებული ინფორმაცია
Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE) სწრაფი დაწყების მომხმარებლის სახელმძღვანელო
ოპტიმიზაცია გაუმჯობესებული DMA შესრულებისთვის
NUMA (არაერთგვაროვანი მეხსიერების წვდომა) ოპტიმიზაციის დანერგვა fpga_dma_test.cpp-ში პროცესორს საშუალებას აძლევს შევიდეს საკუთარ ადგილობრივ მეხსიერებაზე უფრო სწრაფად, ვიდრე არალოკალურ მეხსიერებაზე წვდომა (მეხსიერების ლოკალური სხვა პროცესორისთვის). ტიპიური NUMA კონფიგურაცია ნაჩვენებია ქვემოთ მოცემულ დიაგრამაზე. ლოკალური წვდომა წარმოადგენს წვდომას ბირთვიდან ლოკალურ მეხსიერებაზე იმავე ბირთვზე. დისტანციური წვდომა ასახავს გზას, რომელიც მიდის, როდესაც კვანძის 0 ბირთვი წვდება მეხსიერებას, რომელიც მდებარეობს მეხსიერების ლოკალური კვანძის 1-ში.
ტიპიური NUMA კონფიგურაცია
გამოიყენეთ შემდეგი კოდი NUMA ოპტიმიზაციის განსახორციელებლად თქვენს სატესტო აპლიკაციაში:
// მოთხოვნის შემთხვევაში დააყენეთ შესაბამისი კავშირი, თუ (cpu_affinity || memory_affinity) {unsigned dom = 0, bus = 0, dev = 0, func = 0; fpga_properties props;int retval; #if(FPGA_DMA_DEBUG)char str[4096]; #endifres = fpgaGetProperties(afc_token, &props); ON_ERR_GOTO (res, out_destroy_tok, „fpgaGetProperties“); res = fpgaPropertiesGetBus(props, (uint8_t *) & bus);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetBus”); res = fpgaPropertiesGetDevice(props, (uint8_t *) & dev);ON_ERR_GOTO(res, out_destroy_tok, "fpgaPropertiesGetDevice") res = fpgaPropertiesGetFunction(props, (uint8_t *) & func);ON_ERR_Goto"; // იპოვნეთ მოწყობილობა ტოპოლოგიიდან hwloc_topology_t ტოპოლოგიიდან; hwloc_topology_init(&ტოპოლოგია); hwloc_topology_set_flags (ტოპოლოგია, HWLOC_TOPOLOGY_FLAG_IO_DEVICES); Intel Corporation. Ყველა უფლება დაცულია. Intel, Intel-ის ლოგო და სხვა Intel ნიშნები არის Intel Corporation-ის ან მისი შვილობილი კომპანიების სავაჭრო ნიშნები. Intel იძლევა გარანტიას მისი FPGA და ნახევარგამტარული პროდუქტების შესრულებაზე მიმდინარე სპეციფიკაციების შესაბამისად Intel-ის სტანდარტული გარანტიის შესაბამისად, მაგრამ იტოვებს უფლებას ნებისმიერ დროს შეიტანოს ცვლილებები ნებისმიერ პროდუქტსა და სერვისში შეტყობინების გარეშე. Intel არ იღებს პასუხისმგებლობას ან პასუხისმგებლობას, რომელიც წარმოიქმნება აქ აღწერილი ნებისმიერი ინფორმაციის, პროდუქტის ან სერვისის აპლიკაციის ან გამოყენების შედეგად, გარდა იმ შემთხვევისა, რაც წერილობით არის დათანხმებული Intel-ის მიერ. Intel-ის მომხმარებლებს ურჩევენ, მიიღონ მოწყობილობის სპეციფიკაციების უახლესი ვერსია, სანამ დაეყრდნონ რაიმე გამოქვეყნებულ ინფორმაციას და განათავსონ შეკვეთები პროდუქტებსა და სერვისებზე. *სხვა სახელები და ბრენდები შეიძლება გამოცხადდეს, როგორც სხვისი საკუთრება.
ოპტიმიზაცია გაუმჯობესებული DMA შესრულებისთვის
hwloc_topology_load(ტოპოლოგია); hwloc_obj_t obj = hwloc_get_pcidev_by_busid(ტოპოლოგია, dom, bus, dev, func); hwloc_obj_t obj2 = hwloc_get_non_io_ancestor_obj(ტოპოლოგია, obj); #if (FPGA_DMA_DEBUG) hwloc_obj_type_snprintf(str, 4096, obj2, 1); printf(“%s\n”, str);hwloc_obj_attr_snprintf(str, 4096, obj2, ” :: “, 1);printf(“%s\n”, str); hwloc_bitmap_taskset_snprintf(str, 4096, obj2->cpuset); printf("CPUSET არის %s\n", str); hwloc_bitmap_taskset_snprintf(str, 4096, obj2->nodeset); printf(„NODESET არის %s\n“, str);#endif, თუ (მეხსიერების_დაახლოება) { #if HWLOC_API_VERSION > 0x00020000 retval = hwloc_set_membind(ტოპოლოგია, obj2->nodeset,HWLOC_MEMBIND_LOC_MEMBIND_LOCDE_MEMBIND_LOC_MEMBIND_LOC_MEMBIND_LOC_MEMBIND_LOC_MEMBIND_LOC_MEMBIND_LOC_MEMBIND_LOC_MEMBIND_LOC_MEMBIND_LOC_MEMBIND_LOC_MEMBIND_LOC_MEMBIND_LOC_MEMBIND_LOC_DE_MEMBIND_LOC_MEMBIND_LOC_MEMBIND_LOC_D2] #else retval =hwloc_set_membind_nodeset(ტოპოლოგია, obj2->nodeset, HWLOC_MEMBIND_THREAD,HWLOC_MEMBIND_MIGRATE); #endifON_ERR_GOTO (retval, out_destroy_tok, "hwloc_set_membind"); } if (cpu_affinity) { retval = hwloc_set_cpubind(ტოპოლოგია, objXNUMX->cpuset, HWLOC_CPUBIND_STRICT); ON_ERR_GOTO (reval, out_destroy_tok, "hwloc_set_cpubind"); }}
DMA Accelerator Functional Unit User Guide Archives
Intel Acceleration Stack ვერსია | მომხმარებლის სახელმძღვანელო (PDF) |
2.0 | DMA Accelerator Functional Unit (AFU) მომხმარებლის სახელმძღვანელო |
დოკუმენტის გადასინჯვის ისტორია DMA Accelerator-ის ფუნქციური ერთეულის მომხმარებლის სახელმძღვანელო
დოკუმენტის ვერსია |
Intel Acceleration დასტის ვერსია |
ცვლილებები |
2020.08.03 |
2.0.1 (მხარდაჭერით Intel
Quartus® Prime Pro Edition Edition 19.2) |
გაასწორა AF გამოსახულება file სახელი განყოფილებაში შედგენა DMA AFU Example. |
2020.04.17 |
2.0.1 (მხარდაჭერით Intel
Quartus Prime Pro Edition Edition 19.2) |
შეასწორა განცხადება განკუთვნილი აუდიტორია განყოფილება. |
2020.02.20 |
2.0.1 (მხარდაჭერით Intel
Quartus Prime Pro Edition Edition 19.2) |
დაფიქსირდა შეცდომა. |
2019.11.04 |
2.0.1 (მხარდაჭერით Intel Quartus Prime Pro Edition Edition 19.2) |
• შეცვალა fpgaconf fpgasupdate-ით FPGA-ის კონფიგურაციისას განყოფილებაში წინასწარ აშენებული AFU-ით გაშვება DMA AFU Example.
• დამატებულია სუბტიტრები Intel FPGA პროგრამირებადი აჩქარების ბარათი D5005 დოკუმენტის სათაურამდე. • დამატებულია გარემოს ცვლადი $OPAE_PLATFORM_ROOT. • შეცვლილი განყოფილება პროგრამული პროგრამირების მოდელი მცირე რედაქტირებისთვის. • დამატებულია ახალი განყოფილება შედგენა DMA AFU Example. • შეცვლილი განყოფილება ოპტიმიზაცია გაუმჯობესებული DMA შესრულებისთვის მცირე რედაქტირებისთვის. |
2019.08.05 |
2.0 (მხარდაჭერით Intel
Quartus Prime Pro გამოცემა 18.1.2) |
თავდაპირველი გამოშვება. |
ინტელის კორპორაცია. Ყველა უფლება დაცულია. Intel, Intel-ის ლოგო და სხვა Intel ნიშნები არის Intel Corporation-ის ან მისი შვილობილი კომპანიების სავაჭრო ნიშნები. Intel იძლევა გარანტიას მისი FPGA და ნახევარგამტარული პროდუქტების შესრულებაზე მიმდინარე სპეციფიკაციების შესაბამისად Intel-ის სტანდარტული გარანტიის შესაბამისად, მაგრამ იტოვებს უფლებას ნებისმიერ დროს შეიტანოს ცვლილებები ნებისმიერ პროდუქტსა და სერვისში შეტყობინების გარეშე. Intel არ იღებს პასუხისმგებლობას ან პასუხისმგებლობას, რომელიც წარმოიქმნება აქ აღწერილი ნებისმიერი ინფორმაციის, პროდუქტის ან სერვისის აპლიკაციის ან გამოყენების შედეგად, გარდა იმ შემთხვევისა, რაც წერილობით არის დათანხმებული Intel-ის მიერ. Intel-ის მომხმარებლებს ურჩევენ, მიიღონ მოწყობილობის სპეციფიკაციების უახლესი ვერსია, სანამ დაეყრდნონ რაიმე გამოქვეყნებულ ინფორმაციას და განათავსონ შეკვეთები პროდუქტებსა და სერვისებზე.
- სხვა სახელები და ბრენდები შეიძლება მოითხოვონ, როგორც სხვების საკუთრება.
დოკუმენტები / რესურსები
![]() |
Intel FPGA პროგრამირებადი აჩქარების ბარათი D5005 [pdf] მომხმარებლის სახელმძღვანელო FPGA პროგრამირებადი აჩქარების ბარათი, D5005, FPGA პროგრამირებადი აჩქარების ბარათი D5005, DMA ამაჩქარებლის ფუნქციური ერთეული |