इंटेल FPGA प्रोग्रामेबल एक्सेलेरेशन कार्ड D5005
इस दस्तावेज़ के बारे में
यह दस्तावेज़ प्रत्यक्ष मेमोरी एक्सेस (डीएमए) एक्सेलेरेटर फंक्शनल यूनिट (एएफयू) कार्यान्वयन का वर्णन करता है और हार्डवेयर या सिमुलेशन पर चलाने के लिए डिज़ाइन का निर्माण कैसे किया जाए, इसका वर्णन करता है।
अपेक्षित दर्शक
लक्षित दर्शकों में हार्डवेयर या सॉफ्टवेयर डेवलपर्स शामिल हैं, जिन्हें इंटेल FPGA डिवाइस से जुड़ी मेमोरी में स्थानीय रूप से डेटा बफर करने के लिए एक्सेलेरेटर फ़ंक्शन (AF) की आवश्यकता होती है।
कन्वेंशनों
दस्तावेज़ सम्मेलन
सम्मेलन | विवरण |
# | एक कमांड से पहले जो इंगित करता है कि कमांड को रूट के रूप में दर्ज किया जाना है। |
$ | इंगित करता है कि एक कमांड को उपयोगकर्ता के रूप में दर्ज किया जाना है। |
यह फ़ॉन्ट | Fileइस फॉन्ट में नाम, कमांड और कीवर्ड प्रिंट होते हैं। इस फॉन्ट में लंबी कमांड लाइन प्रिंट होती है। हालांकि लंबी कमांड लाइन अगली पंक्ति में लपेट सकती है, रिटर्न कमांड का हिस्सा नहीं है; एंटर न दबाएं। |
प्लेसहोल्डर टेक्स्ट को इंगित करता है जो कोण कोष्ठकों के बीच दिखाई देता है जिसे उचित मान से बदला जाना चाहिए। कोण कोष्ठक में प्रवेश न करें। |
परिवर्णी शब्द
परिवर्णी शब्द
परिवर्णी शब्द | विस्तार | विवरण |
AF | त्वरक समारोह | एफपीजीए लॉजिक में कार्यान्वित संकलित हार्डवेयर एक्सेलेरेटर छवि जो किसी एप्लिकेशन को गति प्रदान करती है। |
एएफयू | त्वरक कार्यात्मक इकाई | हार्डवेयर एक्सेलेरेटर FPGA लॉजिक में लागू किया गया जो प्रदर्शन में सुधार के लिए सीपीयू से एक एप्लिकेशन के लिए एक कम्प्यूटेशनल ऑपरेशन को ऑफलोड करता है। |
एपीआई | अप्लिकेशन प्रोग्रामिंग अंतरफलक | सॉफ्टवेयर अनुप्रयोगों के निर्माण के लिए सबरूटीन परिभाषाओं, प्रोटोकॉल और उपकरणों का एक सेट। |
सीसीआई-पी | कोर कैश इंटरफेस | CCI-P मानक इंटरफ़ेस AFU है जिसका उपयोग होस्ट के साथ संचार करने के लिए किया जाता है। |
डीएफएच | डिवाइस फ़ीचर हैडर | सुविधाओं को जोड़ने का एक एक्स्टेंसिबल तरीका प्रदान करने के लिए फीचर हेडर की एक लिंक्ड सूची बनाता है। |
जारी… |
इंटेल कॉर्पोरेशन। सर्वाधिकार सुरक्षित। Intel, Intel लोगो और अन्य Intel चिह्न Intel Corporation या उसकी सहायक कंपनियों के ट्रेडमार्क हैं। Intel अपने FPGA और सेमीकंडक्टर उत्पादों के प्रदर्शन को Intel की मानक वारंटी के अनुसार वर्तमान विनिर्देशों के अनुसार वारंट करता है, लेकिन बिना किसी सूचना के किसी भी समय किसी भी उत्पाद और सेवाओं में परिवर्तन करने का अधिकार सुरक्षित रखता है। इंटेल यहां वर्णित किसी भी जानकारी, उत्पाद या सेवा के आवेदन या उपयोग से उत्पन्न होने वाली कोई जिम्मेदारी या दायित्व नहीं लेता है, सिवाय इसके कि इंटेल द्वारा लिखित रूप से सहमति व्यक्त की गई है। Intel ग्राहकों को सलाह दी जाती है कि किसी भी प्रकाशित जानकारी पर भरोसा करने से पहले और उत्पादों या सेवाओं के लिए ऑर्डर देने से पहले डिवाइस विनिर्देशों का नवीनतम संस्करण प्राप्त करें। *अन्य नामों और ब्रांडों पर दूसरों की संपत्ति के रूप में दावा किया जा सकता है।
परिवर्णी शब्द | विस्तार | विवरण |
एफआईएम | FPGA इंटरफ़ेस प्रबंधक | एफपीजीए हार्डवेयर जिसमें एफपीजीए इंटरफेस यूनिट (एफआईयू) और मेमोरी, नेटवर्किंग आदि के लिए बाहरी इंटरफेस शामिल हैं।
एक्सेलेरेटर फंक्शन (AF) रन टाइम पर FIM के साथ इंटरफेस करता है। |
एफआईयू | एफपीजीए इंटरफेस यूनिट | FIU एक प्लेटफ़ॉर्म इंटरफ़ेस परत है जो PCIe*, UPI और AFU-साइड इंटरफ़ेस जैसे CCI-P जैसे प्लेटफ़ॉर्म इंटरफ़ेस के बीच एक सेतु का काम करती है। |
एमपीएफ | मेमोरी गुण फैक्टरी | MPF एक बेसिक बिल्डिंग ब्लॉक (BBB) है जिसका उपयोग AFU FIU के साथ लेनदेन के लिए CCI-P ट्रैफिक शेपिंग ऑपरेशन प्रदान करने के लिए कर सकता है। |
त्वरण शब्दावली
FPGAs के साथ Intel® Xeon® CPU के लिए एक्सेलेरेशन स्टैक शब्दावली
अवधि | संक्षेपाक्षर | विवरण |
FPGAs के साथ Intel Xeon® CPU के लिए Intel® एक्सेलेरेशन स्टैक | त्वरण स्टैक | सॉफ़्टवेयर, फ़र्मवेयर और टूल का एक संग्रह जो एक Intel FPGA और एक Intel Xeon प्रोसेसर के बीच प्रदर्शन-अनुकूलित कनेक्टिविटी प्रदान करता है। |
इंटेल FPGA प्रोग्रामेबल एक्सेलेरेशन कार्ड | इंटेल एफपीजीए पीएसी | PCIe FPGA त्वरक कार्ड.
इसमें एक FPGA इंटरफ़ेस मैनेजर (FIM) होता है जो PCIe बस पर Intel Xeon प्रोसेसर के साथ युग्मित होता है। |
- DMA एक्सेलेरेटर फंक्शनल यूनिट उपयोगकर्ता गाइड: इंटेल FPGA प्रोग्रामेबल एक्सेलेरेशन कार्ड D5005
डीएमए एएफयू विवरण
परिचय
डायरेक्ट मेमोरी एक्सेस (डीएमए) एएफयू एक्सampयह दिखाता है कि होस्ट प्रोसेसर और FPGA के बीच मेमोरी ट्रांसफ़र को कैसे प्रबंधित किया जाए। आप होस्ट मेमोरी और FPGA लोकल मेमोरी के बीच डेटा को स्थानांतरित करने के लिए DMA AFU को अपने डिज़ाइन में एकीकृत कर सकते हैं। DMA AFU में निम्नलिखित सबमॉड्यूल शामिल हैं:
- मेमोरी प्रॉपर्टीज़ फैक्ट्री (एमपीएफ) बेसिक बिल्डिंग ब्लॉक (बीबीबी)
- कोर कैश इंटरफ़ेस (CCI-P) से Avalon® मेमोरी-मैप्ड (Avalon-MM) एडाप्टर
- डीएमए टेस्ट सिस्टम जिसमें डीएमए बीबीबी शामिल है
इन सबमॉड्यूल्स का विवरण नीचे DMA AFU हार्डवेयर घटक विषय में अधिक विस्तार से दिया गया है।
संबंधित जानकारी
- पृष्ठ 6 पर DMA AFU हार्डवेयर घटक
- एवलॉन इंटरफ़ेस निर्दिष्टीकरण
एवलॉन-एमएम प्रोटोकॉल के बारे में अधिक जानकारी के लिए, जिसमें पढ़ने और लिखने के लेनदेन के लिए समय आरेख शामिल हैं।
DMA AFU सॉफ्टवेयर पैकेज
FPGAs पैकेज के साथ Intel Xeon CPU के लिए Intel एक्सेलेरेशन स्टैक file (*.tar.gz), इसमें DMA AFU शामिल हैampले. यह पूर्वample एक यूजर स्पेस ड्राइवर प्रदान करता है। होस्ट एप्लिकेशन इस ड्राइवर का उपयोग इस तरह करता है कि DMA होस्ट और FPGA मेमोरी के बीच डेटा ले जाता है। हार्डवेयर बाइनरी, स्रोत और यूजर स्पेस ड्राइवर निम्न निर्देशिका में उपलब्ध हैं: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu . DMA AFU के साथ प्रयोग करने से पहले, आपको ओपन प्रोग्रामेबल एक्सेलेरेशन इंजन (OPAE) सॉफ़्टवेयर पैकेज स्थापित करना होगा। स्थापना निर्देशों के लिए Intel FPGA प्रोग्रामेबल एक्सेलेरेशन कार्ड D5005 के लिए Intel एक्सेलेरेशन स्टैक क्विक स्टार्ट गाइड में OPAE सॉफ़्टवेयर पैकेज स्थापित करना देखें। इस क्विक स्टार्ट गाइड में ओपन प्रोग्रामेबल एक्सेलेरेशन इंजन (OPAE) और AFU को कॉन्फ़िगर करने के बारे में बुनियादी जानकारी भी शामिल है। ओपन प्रोग्रामेबल एक्सेलेरेशन इंजन (OPAE) सॉफ़्टवेयर पैकेज स्थापित करने के बाद,ampहोस्ट एप्लिकेशन और DMA AFU उपयोगकर्ता स्पेस ड्राइवर निम्नलिखित निर्देशिका में उपलब्ध हैं: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw. s चलाने के लिएampअपने Intel FPGA PAC D5005 हार्डवेयर पर होस्ट अनुप्रयोग, fpga_dma_test स्थापित करने के लिए, DMA AFU Ex चलाना अनुभाग में दिए गए चरणों का संदर्भ लेंampले. इंटेल कॉर्पोरेशन। सभी अधिकार सुरक्षित हैं। इंटेल, इंटेल लोगो और अन्य इंटेल चिह्न इंटेल कॉर्पोरेशन या इसकी सहायक कंपनियों के ट्रेडमार्क हैं। इंटेल अपने FPGA और सेमीकंडक्टर उत्पादों के प्रदर्शन को इंटेल की मानक वारंटी के अनुसार वर्तमान विनिर्देशों के अनुसार वारंटी देता है, लेकिन बिना किसी सूचना के किसी भी समय किसी भी उत्पाद और सेवा में बदलाव करने का अधिकार सुरक्षित रखता है। इंटेल यहाँ वर्णित किसी भी जानकारी, उत्पाद या सेवा के अनुप्रयोग या उपयोग से उत्पन्न होने वाली कोई जिम्मेदारी या दायित्व नहीं लेता है, सिवाय इसके कि इंटेल द्वारा लिखित रूप में स्पष्ट रूप से सहमति व्यक्त की गई हो। इंटेल ग्राहकों को सलाह दी जाती है कि वे किसी भी प्रकाशित जानकारी पर भरोसा करने से पहले और उत्पादों या सेवाओं के लिए ऑर्डर देने से पहले डिवाइस विनिर्देशों का नवीनतम संस्करण प्राप्त करें। *अन्य नाम और ब्रांड दूसरों की संपत्ति के रूप में दावा किए जा सकते हैं।
संबंधित जानकारी
- इंटेल FPGA प्रोग्रामेबल एक्सेलेरेशन कार्ड D5005 . के लिए इंटेल एक्सेलेरेशन स्टैक क्विक स्टार्ट गाइड
- OPAE सॉफ्टवेयर पैकेज स्थापित करना
DMA AFU हार्डवेयर घटक
DMA AFU FPGA इंटरफ़ेस यूनिट (FIU) और FPGA मेमोरी के साथ इंटरफेस करता है। FPGA मेमोरी के विस्तृत विनिर्देशों के लिए Intel FPGA प्रोग्रामेबल एक्सेलेरेशन कार्ड D5005 के लिए FPGA इंटरफ़ेस मैनेजर डेटा शीट देखें। वर्तमान में उपलब्ध हार्डवेयर इस मेमोरी कॉन्फ़िगरेशन को निर्धारित करता है। भविष्य के हार्डवेयर अलग-अलग मेमोरी कॉन्फ़िगरेशन का समर्थन कर सकते हैं। आप निम्न स्रोत और गंतव्य स्थानों के बीच डेटा कॉपी करने के लिए DMA AFU का उपयोग कर सकते हैं:
- डिवाइस FPGA मेमोरी के लिए होस्ट
- डिवाइस FPGA मेमोरी को होस्ट में स्थानांतरित करना
एक प्लेटफ़ॉर्म डिज़ाइनर सिस्टम, $OPAE_PLATFORM_ROOT/hw/sampलेस/dma_afu/hw/rtl/TEST_dma/ /dma_test_system.qsys अधिकांश DMA को क्रियान्वित करता है
- एएफयू। प्लेटफ़ॉर्म डिज़ाइनर सिस्टम में कार्यान्वित डीएमए एएफयू का हिस्सा निम्नलिखित में पाया जा सकता है
स्थान: $OPAE_PLATFORM_ROOT/hw/sampलेस/dma_afu/hw/rtl/TEST_dma/ आप DMA BBB को निम्नलिखित स्थान पर पा सकते हैं:
- $OPAE_PLATFORM_ROOT/hw/sampलेस/dma_afu/hw/rtl/dma_bbb
DMA एक्सेलेरेटर फंक्शनल यूनिट उपयोगकर्ता गाइड: इंटेल FPGA प्रोग्रामेबल एक्सेलेरेशन कार्ड D5005
डीएमए एएफयू हार्डवेयर ब्लॉक आरेख
डीएमए एएफयू में एफपीजीए इंटरफेस यूनिट (एफआईयू) के साथ इंटरफेस करने के लिए निम्नलिखित आंतरिक मॉड्यूल शामिल हैं:
- मेमोरी-मैप्ड IO (MMIO) डिकोडर लॉजिक: MMIO रीड और राइट ट्रांजेक्शन का पता लगाता है और उन्हें CCI-P RX चैनल 0 से अलग करता है, जहाँ से वे आते हैं। यह सुनिश्चित करता है कि MMIO ट्रैफ़िक कभी भी MPF BBB तक न पहुँचे और एक स्वतंत्र MMIO कमांड चैनल द्वारा सेवा दी जाए।
- मेमोरी प्रॉपर्टीज़ फ़ैक्टरी (MPF): यह मॉड्यूल सुनिश्चित करता है कि DMA से रीड रिस्पॉन्स उसी क्रम में वापस आएं जिस क्रम में उन्हें जारी किया गया था। एवलॉन-एमएम प्रोटोकॉल के लिए रीड रिस्पॉन्स को सही क्रम में वापस लौटना ज़रूरी है।
- CCI-P से Avalon-MM एडाप्टर: यह मॉड्यूल CCI-P और Avalon-MM लेनदेन के बीच निम्नानुसार अनुवाद करता है:
- CCI-P से Avalon-MMIO एडाप्टर: यह पथ CCI-P MMIO लेनदेन को Avalon-MM लेनदेन में परिवर्तित करता है।
- एवलॉन से CCI-P होस्ट एडाप्टर: ये पथ DMA के लिए होस्ट मेमोरी तक पहुंचने के लिए अलग-अलग केवल-पढ़ने और केवल-लिखने के पथ बनाते हैं।
- DMA टेस्ट सिस्टम: यह मॉड्यूल DMA BBB के चारों ओर एक आवरण के रूप में कार्य करता है ताकि AFU में DMA मास्टर्स को बाकी लॉजिक के लिए उजागर किया जा सके। यह DMA BBB और CCI-P से Avalon एडाप्टर के बीच इंटरफ़ेस प्रदान करता है। यह DMA BBB और स्थानीय FPGA SDRAM बैंकों के बीच इंटरफ़ेस भी प्रदान करता है।
संबंधित जानकारी
इंटेल FPGA प्रोग्रामेबल एक्सेलेरेशन कार्ड D5005 के लिए FPGA इंटरफ़ेस मैनेजर डेटा शीट
डीएमए परीक्षण प्रणाली
DMA परीक्षण प्रणाली DMA BBB को CCI-P अनुकूलन और स्थानीय FPGA मेमोरी सहित शेष FPGA डिज़ाइन से जोड़ती है।
डीएमए टेस्ट सिस्टम ब्लॉक आरेख
यह ब्लॉक आरेख DMA परीक्षण प्रणाली के आंतरिक भाग को दर्शाता है। पृष्ठ 1 पर चित्र 7 में DMA परीक्षण प्रणाली को एक अखंड ब्लॉक के रूप में दिखाया गया है।
डीएमए परीक्षण प्रणाली में निम्नलिखित आंतरिक मॉड्यूल शामिल हैं:
- सुदूर पहुंच पुल/पाइपलाइन पुल: टोपोलॉजी को नियंत्रित करने और डिजाइन Fmax में सुधार करने के लिए समायोज्य विलंबता के साथ एक पाइपलाइन पुल।
- DMA AFU डिवाइस फ़ीचर हेडर (DFH): यह DMA AFU के लिए DFH है। यह DFH ऑफ़सेट 0x100 (DMA BBB DFH) पर स्थित अगले DFH की ओर इशारा करता है।
- नल DFH: यह घटक DFH लिंक्ड-लिस्ट को समाप्त करता है। यदि आप डिज़ाइन में अधिक DMA BBB जोड़ते हैं, तो सुनिश्चित करें कि नल DFH बेस पता DFH लिंक्ड-लिस्ट के अंत में स्थित है।
- एमए बेसिक बिल्डिंग ब्लॉक (बीबीबी): यह ब्लॉक होस्ट और स्थानीय एफपीजीए मेमोरी के बीच डेटा ले जाता है। यह डिस्क्रिप्टर चेन तक पहुँचने के लिए होस्ट मेमोरी तक भी पहुँचता है।
डीएमए बीबीबी
DMA BBB सबसिस्टम Avalon-MM ट्रांजेक्शन का उपयोग करके स्रोत से गंतव्य पते तक डेटा स्थानांतरित करता है। DMA ड्राइवर सिस्टम के अंदर विभिन्न घटकों के नियंत्रण और स्थिति रजिस्टर तक पहुँचकर DMA BBB को नियंत्रित करता है। DMA ड्राइवर ट्रांसफर डिस्क्रिप्टर को संचारित करने के लिए साझा मेमोरी का उपयोग करके DMA BBB को भी नियंत्रित करता है। DMA BBB ऑफ़सेट 0x0 पर FPGA मेमोरी में डेटा एक्सेस करता है। DMA BBB ऑफ़सेट 0x1_0000_0000_0000 पर होस्ट मेमोरी में डेटा और डिस्क्रिप्टर एक्सेस करता है।
डीएमए बीबीबी प्लेटफॉर्म डिज़ाइनर ब्लॉक आरेख
इस ब्लॉक आरेख में कुछ आंतरिक पाइपलाइन ब्रिज आईपी कोर शामिल नहीं हैं।
DMA एक्सेलेरेटर फंक्शनल यूनिट उपयोगकर्ता गाइड: इंटेल FPGA प्रोग्रामेबल एक्सेलेरेशन कार्ड D5005
डीएमए एएफयू विवरण
DMA BBB प्लेटफ़ॉर्म डिज़ाइनर में घटक निम्नलिखित कार्यों को कार्यान्वित करते हैं:
- सुदूर पहुंच पुल/पाइपलाइन पुल: टोपोलॉजी को नियंत्रित करने और डिजाइन Fmax में सुधार करने के लिए समायोज्य विलंबता के साथ एक पाइपलाइन पुल शामिल किया गया।
- एमए बीबीबी डीएफएच: यह DMA BBB के लिए डिवाइस फ़ीचर हेडर है। यह DFH ऑफ़सेट 0x100 (शून्य DFH) पर स्थित अगले DFH की ओर इशारा करता है।
- विवरणकर्ता फ्रंटएंड: डिस्क्रिप्टर लाने और उन्हें डिस्पैचर में स्थानांतरित करने के लिए जिम्मेदार। जब DMA स्थानांतरण पूरा हो जाता है तो फ्रंटएंड डिस्पैचर से स्थिति निर्माण प्राप्त करता है और होस्ट मेमोरी में डिस्क्रिप्टर को अधिलेखित करता है।
- डिस्पैचर: यह ब्लॉक DMA द्वारा रीड और राइट मास्टर को स्थानांतरण अनुरोधों को शेड्यूल करता है।
- मास्टर पढ़ें: यह ब्लॉक होस्ट या स्थानीय FPGA मेमोरी से डेटा पढ़ने और उसे स्ट्रीमिंग डेटा के रूप में राइट मास्टर तक भेजने के लिए जिम्मेदार है।
- लेखन मास्टर: यह ब्लॉक रीड मास्टर से स्ट्रीमिंग डेटा प्राप्त करने और सामग्री को होस्ट या स्थानीय FPGA मेमोरी में लिखने के लिए जिम्मेदार है।
मानचित्र और पता स्थान पंजीकृत करें
DMA AFU दो मेमोरी का समर्थन करता है viewएस: डीएमए view और मेजबान view.डीएमए view 49-बिट एड्रेस स्पेस का समर्थन करता है। DMA का निचला आधा भाग view स्थानीय FPGA मेमोरी में मैप करता है। DMA का ऊपरी आधा भाग view होस्ट मेमोरी को मैप करता है। view इसमें MMIO एक्सेस जैसे कि DFH टेबल और DMA AFU के अंदर इस्तेमाल किए जाने वाले विभिन्न IP कोर के कंट्रोल/स्टेटस रजिस्टर के ज़रिए एक्सेस किए जा सकने वाले सभी रजिस्टर शामिल हैं। DMA BBB और AFU में MMIO रजिस्टर 32- और 64-बिट एक्सेस का समर्थन करते हैं। DMA AFU 512-बिट MMIO एक्सेस का समर्थन नहीं करता है। DMA BBB के अंदर डिस्पैचर रजिस्टर तक पहुँच 32 बिट होनी चाहिए (डिस्क्रिप्टर फ्रंटएंड 64-बिट रजिस्टर लागू करता है)।
डीएमए एएफयू रजिस्टर मानचित्र
DMA AFU रजिस्टर मैप यूनिट के अंदर सभी स्थानों के पूर्ण पते प्रदान करता है। ये रजिस्टर होस्ट में हैं view क्योंकि केवल होस्ट ही उन तक पहुंच सकता है।
डीएमए एएफयू मेमोरी मैप
बाइट एड्रेस ऑफसेट | नाम | बाइट्स में अवधि | विवरण |
0x0 | डीएमए एएफयू डीएफएच | 0x40 | DMA AFU के लिए डिवाइस फ़ीचर हेडर। ID_L को 0x9081f88b8f655caa पर सेट किया गया है और ID_H को 0x331db30c988541ea पर सेट किया गया है। DMA AFU DFH को अगले DFH (DMA BBB DFH) को खोजने के लिए ऑफ़सेट 0x100 पर इंगित करने के लिए पैरामीटराइज़ किया गया है। आपको DMA AFU DFH के बेस एड्रेस को संशोधित नहीं करना चाहिए क्योंकि इसे CCIP विनिर्देश द्वारा परिभाषित पते 0x0 पर स्थित होना चाहिए। |
0x100 | डीएमए बीबीबी | 0x100 | DMA BBB नियंत्रण और स्थिति रजिस्टर इंटरफ़ेस निर्दिष्ट करता है। अधिक जानकारी के लिए आप DMA BBB रजिस्टर मैप देख सकते हैं। ऑफ़सेट 0 पर DMA BBB के भीतर DMA BBB में अपना स्वयं का DFH शामिल होता है। इस DFH को ऑफ़सेट 0x100 (NULL DFH) पर अगला DFH खोजने के लिए सेट किया गया है। यदि आप और DMA BBB जोड़ते हैं, तो उन्हें 0x100 की दूरी पर रखें और सुनिश्चित करें कि NULL DFH अंतिम DMA के 0x100 बाद हो। |
0x200 | शून्य डीएफएच | 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 ग्राहकों को सलाह दी जाती है कि किसी भी प्रकाशित जानकारी पर भरोसा करने से पहले और उत्पादों या सेवाओं के लिए ऑर्डर देने से पहले डिवाइस विनिर्देशों का नवीनतम संस्करण प्राप्त करें। *अन्य नामों और ब्रांडों पर दूसरों की संपत्ति के रूप में दावा किया जा सकता है।
मानचित्र और पता स्थान पंजीकृत करें
डीएमए बीबीबी मेमोरी मैप
निम्नलिखित बाइट पते DMA AFU प्रणाली (0x100) में DMA BBB आधार पते से सापेक्ष ऑफसेट हैं।
बाइट एड्रेस ऑफसेट | नाम | बाइट्स में अवधि | विवरण |
0x0 | डीएमए बीबीबी डीएफएच | 0x40 | DMA AFU के लिए डिवाइस फ़ीचर हेडर। ID_L को 0xa9149a35bace01ea पर सेट किया गया है और ID_H को 0xef82def7f6ec40fc पर सेट किया गया है। DMA BBB DFH को अगले DFH ऑफ़सेट के लिए 0x100 पर इंगित करने के लिए पैरामीटराइज़ किया गया है। यह अगला ऑफ़सेट एक और DMA BBB, एक और DFH (इस डिज़ाइन में शामिल नहीं) या NULL DFH हो सकता है। |
0x40 | डिस्पैचर | 0x40 | डिस्पैचर के लिए नियंत्रण पोर्ट। DMA ड्राइवर DMA को नियंत्रित करने या इसकी स्थिति की जानकारी प्राप्त करने के लिए इस स्थान का उपयोग करता है। |
0x80 | डिस्क्रिप्टर फ्रंटएंड | 0x40 | डिस्क्रिप्टर फ्रंटएंड एक कस्टम घटक है जो होस्ट मेमोरी से डिस्क्रिप्टर पढ़ता है और DMA ट्रांसफर पूरा होने पर डिस्क्रिप्टर को ओवरराइट करता है। ड्राइवर फ्रंटएंड को निर्देश देता है जहां पहला डिस्क्रिप्टर होस्ट मेमोरी में रहता है और फिर फ्रंटएंड हार्डवेयर मुख्य रूप से होस्ट मेमोरी में संग्रहीत डिस्क्रिप्टर के माध्यम से ड्राइवर के साथ संचार करता है। |
डीएमए एएफयू एड्रेस स्पेस
होस्ट पेज 4 पर तालिका 12 और पेज 5 पर तालिका 13 में सूचीबद्ध रजिस्टरों तक पहुँच सकता है। DMA BBB सबसिस्टम के पास पूरे 49-बिट एड्रेस स्पेस तक पहुँच है। इस एड्रेस स्पेस के निचले आधे हिस्से में स्थानीय FPGA मेमोरी शामिल हैं। इस एड्रेस स्पेस के ऊपरी आधे हिस्से में 48-बिट होस्ट एड्रेस मेमोरी शामिल है। निम्न चित्र होस्ट और DMA को दर्शाता है viewस्मृति का.
डीएमए एएफयू और होस्ट Viewस्मृति का
डिवाइस फ़ीचर हेडर लिंक्ड-लिस्ट
डीएमए एएफयू डिजाइन एक्सampफ़ाइल में तीन डिवाइस फ़ीचर हेडर (DFH) होते हैं जो एक लिंक्ड सूची बनाते हैं। यह लिंक्ड सूची डिवाइस को डिवाइस फ़ीचर हेडर बनाने की अनुमति देती है।ampDMA AFU की पहचान करने के लिए एक ले एप्लीकेशन और साथ ही DMA BBB की पहचान करने के लिए ड्राइवर। DFH सूची में अंत में एक NULL DFH शामिल है। लिंक्ड सूची के अंत में शून्य DFH को शामिल करने से आप अपने डिज़ाइन में और अधिक DMA BBB जोड़ सकते हैं। आपको बस NULL DFH को अन्य BBB के बाद एक पते पर ले जाने की आवश्यकता है। प्रत्येक DMA BBB को उम्मीद है कि अगला DFH BBB के बेस पते से 0x100 बाइट्स पर स्थित होगा। निम्न चित्र DMA AFU डिज़ाइन उदाहरण के लिए लिंक्ड-लिस्ट को दर्शाता हैampले.
मानचित्र और पता स्थान पंजीकृत करें
DMA AFU डिवाइस फ़ीचर हेडर (DFH) चेनिंग
सॉफ्टवेयर प्रोग्रामिंग मॉडल
DMA AFU में एक सॉफ्टवेयर ड्राइवर शामिल है जिसे आप अपने होस्ट एप्लिकेशन में उपयोग कर सकते हैं। fpga_dma.cpp और fpga_dma.h fileनिम्न स्थान पर स्थित s सॉफ्टवेयर ड्राइवर को क्रियान्वित करता है:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw यह ड्राइवर निम्नलिखित कार्यों का समर्थन करता है:
एपीआई | विवरण |
fpgaकाउंटDMAचैनल | DMA BBBs के लिए डिवाइस फीचर श्रृंखला को स्कैन करता है और सभी उपलब्ध चैनलों की गणना करता है। |
fpgaDMAओपन | DMA चैनल के लिए एक हैंडल खोलता है. |
fpgaDMAबंद करें | DMA चैनल के लिए हैंडल बंद करता है. |
fpgaDMAट्रांसफरइनिट | DMA स्थानांतरण का प्रतिनिधित्व करने वाले ऑब्जेक्ट को आरंभीकृत करता है। |
fpgaDMAट्रांसफररीसेट | DMA स्थानांतरण विशेषता ऑब्जेक्ट को डिफ़ॉल्ट मानों पर रीसेट करता है। |
fpgaDMAट्रांसफरडिस्ट्रॉय | DMA स्थानांतरण विशेषता ऑब्जेक्ट को नष्ट करता है. |
fpgaDMATransferSetSrc | स्थानांतरण का स्रोत पता सेट करता है। यह पता 64 बाइट संरेखित होना चाहिए। |
fpgaDMAट्रांसफरसेटDst | स्थानांतरण का गंतव्य पता सेट करता है। यह पता 64 बाइट संरेखित होना चाहिए। |
fpgaDMAट्रांसफरसेटलेन | बाइट्स में ट्रांसफर की लंबाई सेट करता है। गैर-पैकेट ट्रांसफर के लिए, आपको ट्रांसफर की लंबाई 64 बाइट्स के गुणक में सेट करनी होगी। पैकेट ट्रांसफर के लिए, यह कोई आवश्यकता नहीं है। |
fpgaDMAट्रांसफरसेटट्रांसफरटाइप | स्थानांतरण प्रकार सेट करता है। वैधानिक मान हैं:
• HOST_MM_TO_FPGA_MM = TX (होस्ट से AFU) • FPGA_MM_TO_HOST_MM = RX (AFU से होस्ट) |
fpgaDMATransferSetTransferCallback | एसिंक्रोनस ट्रांसफर पूरा होने पर अधिसूचना के लिए कॉलबैक पंजीकृत करता है। यदि आप कॉलबैक निर्दिष्ट करते हैं, तो fpgaDMATransfer तुरंत वापस लौटता है (एसिंक्रोनस ट्रांसफर)।
यदि आप कॉलबैक निर्दिष्ट नहीं करते हैं, तो fpgaDMATransfer स्थानांतरण पूर्ण होने के बाद वापस लौटता है (सिंक्रोनस/ब्लॉकिंग स्थानांतरण)। |
fpgaDMATransferSetLast | अंतिम स्थानांतरण को इंगित करता है ताकि DMA प्रीफ़ेच्ड स्थानांतरणों को संसाधित करना शुरू कर सके। डिफ़ॉल्ट मान पाइपलाइन में 64 स्थानांतरण है इससे पहले कि DMA स्थानांतरणों पर काम करना शुरू करे। |
एफपीजीएडीएमट्रांसफर | 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 पर स्थितampलेस/dma_afu/README.md
डीएमए एएफयू एक्स चलानाample
आरंभ करने से पहले:
- आपको पूर्व से परिचित होना चाहिएampइंटेल FPGA प्रोग्रामेबल एक्सेलेरेशन कार्ड D5005 के लिए इंटेल एक्सेलेरेशन स्टैक त्वरित आरंभ गाइड में जानकारी।
- आपको एक पर्यावरण चर परिभाषित करना होगा। पर्यावरण चर आपके द्वारा उपयोग किए जा रहे Intel Acceleration Stack संस्करण पर निर्भर करता है:
- वर्तमान संस्करण के लिए, पर्यावरण चर को $OPAE_PLATFORM_ROOT पर सेट करें
- आपको इंटेल थ्रेडिंग बिल्डिंग ब्लॉक्स (TBB) लाइब्रेरी स्थापित करनी होगी क्योंकि DMA ड्राइवर इस पर निर्भर करता है।
- आपको प्रोग्राम चलाने के लिए दो 1 जीबी विशाल पेज भी सेट अप करने होंगेample अनुप्रयोग. $ sudo sh -c “echo 2 > /sys/kernel/mm/hugepages/hugepages-1048576kB/ nr_hugepages”
DMA एक्सेलेरेटर फ़ंक्शन (AF) बिटस्ट्रीम डाउनलोड करने, एप्लिकेशन और ड्राइवर बनाने और डिज़ाइन एक्स को चलाने के लिए निम्नलिखित चरणों का पालन करेंampपर:
- DMA अनुप्रयोग और ड्राइवर निर्देशिका में परिवर्तन करें: cd $OPAE_PLATFORM_ROOT/hw/sampलेस/dma_afu/sw
- ड्राइवर और एप्लिकेशन बनाएं: make
- DMA AFU बिटस्ट्रीम डाउनलोड करें: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
- होस्ट मेमोरी से FPGA डिवाइस मेमोरी में 100 MB भागों में 1 MB लिखने और इसे वापस पढ़ने के लिए होस्ट एप्लिकेशन को निष्पादित करें: ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom
संबंधित जानकारी
इंटेल FPGA प्रोग्रामेबल एक्सेलेरेशन कार्ड D5005 के लिए इंटेल एक्सेलेरेशन स्टैक क्विक स्टार्ट गाइड इंटेल कॉर्पोरेशन। सभी अधिकार सुरक्षित। इंटेल, इंटेल लोगो और अन्य इंटेल चिह्न इंटेल कॉर्पोरेशन या इसकी सहायक कंपनियों के ट्रेडमार्क हैं। इंटेल अपने FPGA और सेमीकंडक्टर उत्पादों के प्रदर्शन को इंटेल की मानक वारंटी के अनुसार वर्तमान विनिर्देशों के अनुसार वारंटी देता है, लेकिन बिना किसी सूचना के किसी भी समय किसी भी उत्पाद और सेवा में बदलाव करने का अधिकार सुरक्षित रखता है। इंटेल यहाँ वर्णित किसी भी जानकारी, उत्पाद या सेवा के अनुप्रयोग या उपयोग से उत्पन्न होने वाली कोई जिम्मेदारी या देयता नहीं लेता है, सिवाय इसके कि इंटेल द्वारा लिखित रूप में स्पष्ट रूप से सहमति व्यक्त की गई हो। इंटेल ग्राहकों को सलाह दी जाती है कि वे किसी भी प्रकाशित जानकारी पर भरोसा करने से पहले और उत्पादों या सेवाओं के लिए ऑर्डर देने से पहले डिवाइस विनिर्देशों का नवीनतम संस्करण प्राप्त करें। *अन्य नाम और ब्रांड दूसरों की संपत्ति के रूप में दावा किए जा सकते हैं।
DMA AFU Ex का संकलनample
AF संकलित करने के लिए संश्लेषण बिल्ड वातावरण उत्पन्न करने के लिए, afu_synth_setup कमांड का उपयोग निम्नानुसार करें:
- DMA AFU में परिवर्तनampनिर्देशिका: $OPAE_PLATFORM_ROOT/hw/sampलेस/dma_afu
- डिज़ाइन बिल्ड निर्देशिका उत्पन्न करें: afu_synth_setup –source hw/rtl/fileसूची.txt build_synth
- afu_synth_setup द्वारा उत्पन्न संश्लेषण बिल्ड निर्देशिका से, लक्ष्य हार्डवेयर प्लेटफ़ॉर्म के लिए AF उत्पन्न करने के लिए टर्मिनल विंडो से निम्नलिखित कमांड दर्ज करें: cd build_synth run.sh run.sh AF जनरेशन स्क्रिप्ट समान बेस के साथ AF इमेज बनाती है fileएएफयू के प्लेटफॉर्म कॉन्फ़िगरेशन के रूप में नाम file (.json) .gbs प्रत्यय के साथ स्थान पर: $OPAE_PLATFORM_ROOT/hw/samples/build_synth/dma_afu_s10.gbs इंटेल कॉर्पोरेशन। सभी अधिकार सुरक्षित हैं। इंटेल, इंटेल लोगो और अन्य इंटेल चिह्न इंटेल कॉर्पोरेशन या इसकी सहायक कंपनियों के ट्रेडमार्क हैं। इंटेल अपने FPGA और सेमीकंडक्टर उत्पादों के प्रदर्शन को इंटेल की मानक वारंटी के अनुसार वर्तमान विनिर्देशों के अनुसार वारंटी देता है, लेकिन बिना किसी सूचना के किसी भी समय किसी भी उत्पाद और सेवा में बदलाव करने का अधिकार सुरक्षित रखता है। इंटेल यहाँ वर्णित किसी भी जानकारी, उत्पाद या सेवा के अनुप्रयोग या उपयोग से उत्पन्न होने वाली कोई जिम्मेदारी या देयता नहीं लेता है, सिवाय इसके कि इंटेल द्वारा लिखित रूप में स्पष्ट रूप से सहमति व्यक्त की गई हो। इंटेल ग्राहकों को सलाह दी जाती है कि वे किसी भी प्रकाशित जानकारी पर भरोसा करने से पहले और उत्पादों या सेवाओं के लिए ऑर्डर देने से पहले डिवाइस विनिर्देशों का नवीनतम संस्करण प्राप्त करें। *अन्य नाम और ब्रांड दूसरों की संपत्ति के रूप में दावा किए जा सकते हैं।
एएफयू एक्स का अनुकरणample
इंटेल आपको अपने इंटेल FPGA PAC के लिए इंटेल एक्सेलेरेटर फंक्शनल यूनिट (AFU) सिमुलेशन एनवायरनमेंट (ASE) क्विक स्टार्ट गाइड का संदर्भ लेने की सलाह देता है ताकि आप समान एक्स को सिम्युलेट करने से परिचित हो सकें।amples और अपने वातावरण को सेटअप करने के लिए। इससे पहले कि आप निम्न चरणों से आगे बढ़ें, सत्यापित करें कि OPAE_PLATFORM_ROOT वातावरण चर OPAE SDK स्थापना निर्देशिका में सेट है। DMA AFU के लिए हार्डवेयर सिम्युलेटर सेटअप करने के लिए निम्न चरणों को पूरा करें:
- DMA AFU में परिवर्तनampले निर्देशिका: cd $OPAE_PLATFORM_ROOT/hw/sampलेस/dma_afu
- एक नई निर्देशिका में एक ASE वातावरण बनाएं और इसे AFU सिम्युलेट करने के लिए कॉन्फ़िगर करें: afu_sim_setup –source hw/rtl/fileसूची.txt build_ase_dir
- ASE बिल्ड निर्देशिका में परिवर्तन करें: cd build_ase_dir
- ड्राइवर और एप्लिकेशन बनाएं: make
- सिमुलेशन बनाएं: सिम बनाएं
Sampहार्डवेयर सिम्युलेटर से आउटपुट:
[SIM] ** ध्यान दें: सॉफ़्टवेयर एप्लिकेशन चलाने से पहले ** [SIM] टर्मिनल में env(ASE_WORKDIR) सेट करें जहां एप्लिकेशन चलेगा (कॉपी-और-पेस्ट) => [SIM] $SHELL | चलाएँ:[SIM] ———+————————————————— [SIM] bash/zsh | export 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/sampलेस/dma_afu/sw
इंटेल कॉर्पोरेशन। सर्वाधिकार सुरक्षित। Intel, Intel लोगो और अन्य Intel चिह्न Intel Corporation या उसकी सहायक कंपनियों के ट्रेडमार्क हैं। Intel अपने FPGA और सेमीकंडक्टर उत्पादों के प्रदर्शन को Intel की मानक वारंटी के अनुसार वर्तमान विनिर्देशों के अनुसार वारंट करता है, लेकिन बिना किसी सूचना के किसी भी समय किसी भी उत्पाद और सेवाओं में परिवर्तन करने का अधिकार सुरक्षित रखता है। इंटेल यहां वर्णित किसी भी जानकारी, उत्पाद या सेवा के आवेदन या उपयोग से उत्पन्न होने वाली कोई जिम्मेदारी या दायित्व नहीं लेता है, सिवाय इसके कि इंटेल द्वारा लिखित रूप से सहमति व्यक्त की गई है। Intel ग्राहकों को सलाह दी जाती है कि किसी भी प्रकाशित जानकारी पर भरोसा करने से पहले और उत्पादों या सेवाओं के लिए ऑर्डर देने से पहले डिवाइस विनिर्देशों का नवीनतम संस्करण प्राप्त करें। *अन्य नामों और ब्रांडों पर दूसरों की संपत्ति के रूप में दावा किया जा सकता है।
एएफयू एक्स का अनुकरणample
- हार्डवेयर सिमुलेशन में ऊपर दिए गए चरणों से पर्यावरण सेटअप स्ट्रिंग (अपने शेल के लिए उपयुक्त स्ट्रिंग चुनें) को टर्मिनल विंडो में कॉपी करें। अनुभाग में निम्न पंक्तियाँ देखेंampहार्डवेयर सिम्युलेटर से आउटपुट प्राप्त करें। [SIM] bash/zsh | export ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/build_ase_dir/work [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/hw/sampलेस/dma_afu/build_ase_dir/काम
- सॉफ्टवेयर संकलित करें: $ make USE_ASE=1
- लूपबैक मोड में होस्ट मेमोरी से FPGA डिवाइस मेमोरी में 4 KB भागों में 1 KB लिखने के लिए होस्ट एप्लिकेशन को निष्पादित करें: ./ fpga_dma_test -s 4096 -p 1024 -r mtom
संबंधित जानकारी
इंटेल एक्सेलेरेटर फंक्शनल यूनिट (AFU) सिमुलेशन एनवायरनमेंट (ASE) त्वरित आरंभ उपयोगकर्ता गाइड
बेहतर DMA प्रदर्शन के लिए अनुकूलन
fpga_dma_test.cpp में NUMA (गैर-समान मेमोरी एक्सेस) अनुकूलन का कार्यान्वयन प्रोसेसर को गैर-स्थानीय मेमोरी (किसी अन्य प्रोसेसर के लिए स्थानीय मेमोरी) तक पहुँचने की तुलना में अपनी स्थानीय मेमोरी तक तेज़ी से पहुँचने की अनुमति देता है। नीचे दिए गए आरेख में एक विशिष्ट 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(res, out_destroy_tok, “fpgaPropertiesGetFunction”); // टोपोलॉजी से डिवाइस ढूंढें hwloc_topology_t topology; hwloc_topology_init(&topology); hwloc_topology_set_flags(topology, HWLOC_TOPOLOGY_FLAG_IO_DEVICES);Intel Corporation. सभी अधिकार सुरक्षित हैं. Intel, Intel लोगो और अन्य Intel चिह्न Intel Corporation या उसकी सहायक कंपनियों के ट्रेडमार्क हैं. इंटेल अपने FPGA और सेमीकंडक्टर उत्पादों के प्रदर्शन को इंटेल की मानक वारंटी के अनुसार वर्तमान विनिर्देशों के अनुसार वारंटी देता है, लेकिन बिना किसी सूचना के किसी भी समय किसी भी उत्पाद और सेवा में बदलाव करने का अधिकार सुरक्षित रखता है। इंटेल यहाँ वर्णित किसी भी जानकारी, उत्पाद या सेवा के अनुप्रयोग या उपयोग से उत्पन्न होने वाली कोई जिम्मेदारी या दायित्व नहीं लेता है, सिवाय इसके कि इंटेल द्वारा लिखित रूप में स्पष्ट रूप से सहमति व्यक्त की गई हो। इंटेल ग्राहकों को सलाह दी जाती है कि वे किसी भी प्रकाशित जानकारी पर भरोसा करने से पहले और उत्पादों या सेवाओं के लिए ऑर्डर देने से पहले डिवाइस विनिर्देशों का नवीनतम संस्करण प्राप्त करें। *अन्य नाम और ब्रांड दूसरों की संपत्ति के रूप में दावा किए जा सकते हैं।
बेहतर DMA प्रदर्शन के लिए अनुकूलन
hwloc_topology_load(टोपोलॉजी); hwloc_obj_t obj = hwloc_get_pcidev_by_busid(टोपोलॉजी, डोम, बस, देव, func); hwloc_obj_t obj2 = hwloc_get_non_io_ancestor_obj(टोपोलॉजी, obj); #if (FPGA_DMA_DEBUG) hwloc_obj_type_snprintf(स्ट्र, 4096, obj2, 1); printf(“%s\n”, str);hwloc_obj_attr_snprintf(स्ट्र, 4096, obj2, ” :: “, 1);printf(“%s\n”, str); hwloc_bitmap_taskset_snprintf(स्ट्र, 4096, obj2->cpuset); printf(“CPUSET %s\n है”, str); hwloc_bitmap_taskset_snprintf(स्ट्र, 4096, obj2->nodeset); प्रिंटफ(“NODESET %s\n है”, स्ट्र);#endif अगर (मेमोरी_एफिनिटी) { #अगर HWLOC_API_VERSION > 0x00020000 retval = hwloc_set_membind(टोपोलॉजी, obj2->nodeset,HWLOC_MEMBIND_THREAD, HWLOC_MEMBIND_MIGRATE |HWLOC_MEMBIND_BYNODESET); #अन्यथा retval =hwloc_set_membind_nodeset(टोपोलॉजी, obj2->nodeset, HWLOC_MEMBIND_THREAD,HWLOC_MEMBIND_MIGRATE); #endifON_ERR_GOTO(retval, out_destroy_tok, “hwloc_set_membind”); } यदि (cpu_affinity) { retval = hwloc_set_cpubind(टोपोलॉजी, obj2->cpuset, HWLOC_CPUBIND_STRICT); ON_ERR_GOTO(retval, out_destroy_tok, “hwloc_set_cpubind”); } }
डीएमए एक्सेलेरेटर कार्यात्मक इकाई उपयोगकर्ता गाइड अभिलेखागार
इंटेल एक्सेलेरेशन स्टैक संस्करण | उपयोगकर्ता गाइड (पीडीएफ) |
2.0 | डीएमए एक्सेलेरेटर फंक्शनल यूनिट (एएफयू) उपयोगकर्ता गाइड |
DMA एक्सेलेरेटर कार्यात्मक इकाई उपयोगकर्ता गाइड के लिए दस्तावेज़ संशोधन इतिहास
दस्तावेज़ संस्करण |
इंटेल त्वरण स्टैक संस्करण |
परिवर्तन |
2020.08.03 |
2.0.1 (इंटेल के साथ समर्थित
क्वार्टस® प्राइम प्रो संस्करण संस्करण 19.2) |
AF छवि को सही किया गया file अनुभाग में नाम DMA AFU Ex का संकलनample. |
2020.04.17 |
2.0.1 (इंटेल के साथ समर्थित
क्वार्टस प्राइम प्रो संस्करण संस्करण 19.2) |
में एक कथन को सही किया गया अपेक्षित दर्शक अनुभाग। |
2020.02.20 |
2.0.1 (इंटेल के साथ समर्थित
क्वार्टस प्राइम प्रो संस्करण संस्करण 19.2) |
टाइपो ठीक कर दिया गया. |
2019.11.04 |
2.0.1 (इंटेल के साथ समर्थित क्वार्टस प्राइम प्रो संस्करण संस्करण 19.2) |
• अनुभाग में प्रीबिल्ड AFU के साथ FPGA को कॉन्फ़िगर करते समय fpgaconf को fpgasupdate से बदल दिया गया DMA AFU Ex चलानाample.
• उपशीर्षक जोड़ा गया इंटेल FPGA प्रोग्रामेबल एक्सेलेरेशन कार्ड D5005 दस्तावेज़ शीर्षक पर क्लिक करें. • पर्यावरण चर $OPAE_PLATFORM_ROOT जोड़ा गया. • संशोधित अनुभाग सॉफ्टवेयर प्रोग्रामिंग मॉडल छोटे-मोटे संपादन के लिए. • नया अनुभाग जोड़ा गया DMA AFU Ex का संकलनample. • संशोधित अनुभाग बेहतर DMA प्रदर्शन के लिए अनुकूलन छोटे-मोटे संपादन के लिए. |
2019.08.05 |
2.0 (इंटेल के साथ समर्थित
क्वार्टस प्राइम प्रो संस्करण 18.1.2) |
प्रारंभिक रिहाई। |
इंटेल कॉर्पोरेशन। सभी अधिकार सुरक्षित हैं। इंटेल, इंटेल लोगो और अन्य इंटेल चिह्न इंटेल कॉर्पोरेशन या उसकी सहायक कंपनियों के ट्रेडमार्क हैं। इंटेल अपने FPGA और सेमीकंडक्टर उत्पादों के प्रदर्शन को इंटेल की मानक वारंटी के अनुसार वर्तमान विनिर्देशों के अनुसार वारंटी देता है, लेकिन बिना किसी सूचना के किसी भी समय किसी भी उत्पाद और सेवा में बदलाव करने का अधिकार सुरक्षित रखता है। इंटेल यहाँ वर्णित किसी भी जानकारी, उत्पाद या सेवा के अनुप्रयोग या उपयोग से उत्पन्न होने वाली कोई जिम्मेदारी या दायित्व नहीं लेता है, सिवाय इसके कि इंटेल द्वारा लिखित रूप में स्पष्ट रूप से सहमति व्यक्त की गई हो। इंटेल ग्राहकों को सलाह दी जाती है कि वे किसी भी प्रकाशित जानकारी पर भरोसा करने से पहले और उत्पादों या सेवाओं के लिए ऑर्डर देने से पहले डिवाइस विनिर्देशों का नवीनतम संस्करण प्राप्त करें।
- अन्य नामों और ब्रांडों पर दूसरों की संपत्ति होने का दावा किया जा सकता है।
दस्तावेज़ / संसाधन
![]() |
इंटेल FPGA प्रोग्रामेबल एक्सेलेरेशन कार्ड D5005 [पीडीएफ] उपयोगकर्ता गाइड FPGA प्रोग्रामेबल एक्सेलेरेशन कार्ड, D5005, FPGA प्रोग्रामेबल एक्सेलेरेशन कार्ड D5005, DMA एक्सेलेरेटर फंक्शनल यूनिट |