OpenCL বোর্ডের জন্য AN 824 FPGA SDK
সমর্থন প্যাকেজ ফ্লোরপ্ল্যান
ব্যবহারকারীর নির্দেশিকা
Intel® FPGA SDK এর জন্য OpenCL ™ বোর্ড সাপোর্ট প্যাকেজ ফ্লোরপ্ল্যান অপ্টিমাইজেশান গাইড
OpenCL™ বোর্ড সাপোর্ট প্যাকেজ (BSP) ফ্লোরপ্ল্যান অপ্টিমাইজেশান গাইডের জন্য Intel/® FPGA SDK OpenCL) BSP-এর জন্য ফ্লোর প্ল্যানিং নির্দেশিকা প্রদান করে। আপনি কীভাবে সেরা গড় সর্বাধিক অপারেটিং ফ্রিকোয়েন্সি সহ ভিত্তি বীজ অর্জন করতে পারেন এবং বিএসপি সম্পদ ব্যবহারের দক্ষতা মূল্যায়ন করতে পারেন সে বিষয়েও এটি নির্দেশিকা প্রদান করে।
এই নথিটি অনুমান করে যে আপনি OpenCL(2) ধারণার সাথে পরিচিত, যেমনটি Khronos গ্রুপের OpenCL স্পেসিফিকেশন সংস্করণ 1.0-এ বর্ণিত হয়েছে।
OpenCL BSP সংকলন প্রবাহ
OpenCL BSP নিম্নলিখিত ধরনের কম্পাইল ফ্লো সমর্থন করে:
- ফ্ল্যাট কম্পাইল [–bsp-ফ্লো ফ্ল্যাট]: সম্পূর্ণ ডিজাইনের একটি সমতল সংকলন সম্পাদন করে (কারনেল জেনারেটেড হার্ডওয়্যার সহ BSP)।
- বেস কম্পাইল [–bsp-ফ্লো বেস]: base.qsf থেকে LogicLock সীমাবদ্ধতা ব্যবহার করে একটি বেস সংকলন সম্পাদন করে file. কার্নেল ঘড়ির টার্গেট শিথিল করা হয়েছে যাতে BSP হার্ডওয়্যারের সময় পূরণের জন্য আরও স্বাধীনতা থাকে। BSP হার্ডওয়্যার সংরক্ষণের জন্য একটি base.qar ডাটাবেস তৈরি করা হয়েছে, যা স্ট্যাটিক অঞ্চল।
- আমদানি কম্পাইল [ ]: base.qar ডাটাবেস থেকে টাইমিং বন্ধ স্ট্যাটিক অঞ্চল পুনরুদ্ধার করে এবং শুধুমাত্র কার্নেল জেনারেটেড হার্ডওয়্যার কম্পাইল করে। এটি সর্বোত্তম কার্নেল সর্বাধিক অপারেটিং ফ্রিকোয়েন্সি (fmax) পেতে কার্নেল ঘড়ির লক্ষ্যমাত্রা বাড়ায়।
OpenCL BSP ফ্লোরপ্ল্যান পার্টিশন
OpenCL BSP ফ্লোরপ্ল্যান প্রধানত নিম্নলিখিত দুটি অঞ্চলে বিভক্ত:
- স্ট্যাটিক অঞ্চল: BSP সম্পর্কিত হার্ডওয়্যার স্থির থাকা অঞ্চলের প্রতিনিধিত্ব করে। বেস কম্পাইলেশনের সময় এই অঞ্চলের জন্য সময় বন্ধ করা হয়। সাধারণভাবে, লক্ষ্য হল এই অঞ্চলের দ্বারা ব্যবহৃত চিপ সংস্থানগুলিকে ক্লোজ করা টাইমিং।
- কার্নেল অঞ্চল: আংশিক পুনর্বিন্যাস (PR) অঞ্চলের প্রতিনিধিত্ব করে যা freeze_wrapper_inst|kernel_system_inst মডিউলের জন্য সংরক্ষিত, যেখানে কার্নেল রয়েছে। সাধারণভাবে, লক্ষ্য হল এই অঞ্চলের জন্য সর্বাধিক পরিমাণে চিপ সংস্থান সংরক্ষণ করা।
- OpenCL-এর জন্য Intel FPGA SDK একটি প্রকাশিত খ্রোনোস স্পেসিফিকেশনের উপর ভিত্তি করে তৈরি করা হয়েছে এবং খরোনোস কনফরমেন্স টেস্টিং প্রক্রিয়ায় উত্তীর্ণ হয়েছে। বর্তমান সামঞ্জস্য অবস্থা এ পাওয়া যাবে www.khronos.org/conformance.
- OpenCL এবং OpenCL লোগো হল Apple Inc.-এর ট্রেডমার্ক এবং Khronos Group™-এর অনুমতি দ্বারা ব্যবহৃত৷
ইন্টেল কর্পোরেশন। সমস্ত অধিকার সংরক্ষিত. ইন্টেল, ইন্টেল লোগো এবং অন্যান্য ইন্টেল চিহ্নগুলি হল ইন্টেল কর্পোরেশন বা এর সহযোগী সংস্থাগুলির ট্রেডমার্ক৷ ইন্টেল তার এফপিজিএ এবং সেমিকন্ডাক্টর পণ্যগুলির কার্যকারিতাকে ইন্টেলের স্ট্যান্ডার্ড ওয়ারেন্টি অনুসারে বর্তমান স্পেসিফিকেশনের জন্য ওয়ারেন্টি দেয়, তবে নোটিশ ছাড়াই যে কোনও সময় যে কোনও পণ্য এবং পরিষেবাতে পরিবর্তন করার অধিকার সংরক্ষণ করে। ইন্টেল লিখিতভাবে স্পষ্টভাবে সম্মত হওয়া ছাড়া এখানে বর্ণিত কোনো তথ্য, পণ্য বা পরিষেবার আবেদন বা ব্যবহারের ফলে উদ্ভূত কোনো দায়িত্ব বা দায়ভার গ্রহণ করে না। Intel গ্রাহকদের কোনো প্রকাশিত তথ্যের উপর নির্ভর করার আগে এবং পণ্য বা পরিষেবার জন্য অর্ডার দেওয়ার আগে ডিভাইসের স্পেসিফিকেশনের সর্বশেষ সংস্করণ পেতে পরামর্শ দেওয়া হয়।
*অন্যান্য নাম এবং ব্র্যান্ড অন্যদের সম্পত্তি হিসাবে দাবি করা যেতে পারে।
ওপেনসিএল বিএসপি ফ্লোর প্ল্যানিংয়ের জন্য নির্দেশিকা
- বিএসপি-র সমস্ত প্রধান উপাদানগুলি স্বাভাবিকভাবে কোথায় স্থাপন করা হয় তা বোঝার জন্য ফ্ল্যাট সংকলন দিয়ে শুরু করুন (বিশেষত PCIe বা DDR এর মতো I/O সংযোগ সহ IP ব্লক)। বিএসপি ডিজাইন করার সময়, আপনাকে পাইপলাইন স্থাপনের কথা বিবেচনা করতে হতে পারেtages আইপিগুলির মধ্যে টাইমিং বন্ধ করার জন্য। পুনরাবৃত্ত ব্যর্থ পথগুলি সনাক্ত করতে আপনাকে প্রথমে একটি ফ্ল্যাট কম্পাইল সিড সুইপ চালাতে হবে এবং তারপরে সেগুলি ঠিক করার চেষ্টা করতে হবে।
টিপ: — ফ্ল্যাট কম্পাইল সিড সুইপসের তুলনায় একটি ভাল টাইমিং ক্লোজার রেট বেস কম্পাইল টাইমিং বন্ধ করার সম্ভাবনা বেশি থাকবে।
— যদি আপনি mm_interconnect* (Qsys দ্বারা যোগ করা উপাদান) এ ধারাবাহিক ব্যর্থতা লক্ষ্য করেন, তাহলে Qsys ইন্টারকানেক্ট দিয়ে সিস্টেম খুলুন viewer এবং ব্যর্থ আন্তঃসংযোগের জটিলতা পর্যবেক্ষণ করুন। আপনি পাইপলাইনিং flipflops যোগ করতে পারেন viewer সময় উন্নত করতে. আপনি যদি এখনও সমস্যাটির সমাধান করতে না পারেন, তাহলে আপনাকে অ্যাভালন পাইপলাইন ব্রিজ যোগ করে mm_interconnect* জটিল পথ ভেঙে ফেলতে হতে পারে। - বেস কম্পাইলেশনের সময়, কার্নেল অঞ্চলে LogicLock দিয়ে শুরু করুন যেখানে freeze_wrapper_inst|kernel_system_inst রয়েছে। অন্য কোন বিধিনিষেধ ছাড়াই, ইন্টেল কোয়ার্টাস প্রাইম বিএসপি হার্ডওয়্যারটিকে চিপের অবশিষ্ট স্থির অঞ্চলে অবাধে রাখতে পারে। BSP হার্ডওয়্যারের আকার এবং অবস্থান সনাক্ত করতে ফ্ল্যাট কম্পাইল এবং চিপ প্ল্যানার ব্যবহার করুন, যেমন PCIe এবং DDR। তারপর, BSP হার্ডওয়্যারের প্রধান ক্লাস্টারযুক্ত এলাকাগুলি এড়িয়ে লজিকলক ব্যবহার করে কার্নেল অঞ্চলটি সংরক্ষণ করুন।
টিপ: যদি ব্যবহৃত চিপ ফ্যামিলি রেফারেন্স প্ল্যাটফর্মের মতো হয় এবং যদি BSP উপাদানগুলি একই রকম হয়, তাহলে freeze_wrapper_inst|kernel_system_inst-এর জন্য LogicLock অঞ্চলগুলির সাথে শুরু করা দ্রুততর হতে পারে যা OpenCL রেফারেন্স BSP-এর সাথে পাঠানো হয় এবং ব্যর্থতার মধ্য দিয়ে কাজ করে৷ - আপনি আপনার BSP-তে নিম্নলিখিত অতিরিক্ত উপাদান যোগ করতে পারেন:
— মেমরি ব্যাঙ্ক: আপনি যদি আরও মেমরি ব্যাঙ্ক যোগ করেন, তাহলে আপনাকে I/O ব্যাঙ্কের লোকেশন শনাক্ত করতে হবে কারণ সময় মেটানোর জন্য আপনাকে পাইপলাইন ব্রিজ যোগ করতে হতে পারে।
— I/O চ্যানেল: আপনি ভিডিও, ইথারনেট, বা সিরিয়াল ইন্টারফেসের মতো I/O চ্যানেল যোগ করতে পারেন। আপনি যদি I/O চ্যানেল যোগ করেন, তাহলে আপনার I/O ব্যাঙ্কের অবস্থান শনাক্ত করা উচিত কারণ বন্ধ করার সময় কঠিন হলে পাইপলাইন করার জন্য আপনাকে নতুন LogicLock অঞ্চল প্রয়োগ করতে হতে পারে।
টিপ: আপনার যদি পাইপলাইন ব্রিজ যোগ করার প্রয়োজন হয় (প্রাক্তনample, বড় রাউটিং বিলম্বের কারণে টাইমিং ব্যর্থতার কারণে), তারপর চিপে উত্স থেকে গন্তব্য যুক্তিতে রাউটিং দূরত্ব বিবেচনা করুন এবং কার্নেল অঞ্চলের জন্য সংরক্ষিত কিছু স্থান ছেড়ে দিন। - কার্নেলের জন্য LogicLock অঞ্চল সংরক্ষণ করার সময় এই সাধারণ নির্দেশিকাগুলি অনুসরণ করুন:
— BSP-এর প্রয়োজন না হলে kernel_system-এ সমস্ত DSP কলাম রাখার চেষ্টা করুন।
— kernel_system-এর জন্য আরও সংস্থান সংরক্ষণ করার চেষ্টা করুন।
— কার্নেল অঞ্চলে নচের সংখ্যা সর্বনিম্ন রাখার চেষ্টা করুন।
নিম্নলিখিত চিত্রটি একটি খাঁজকে চিত্রিত করে যা PCIe এবং DDR ব্যাঙ্কের মধ্যে একটি পাইপলাইন সেতু স্থাপন করতে যোগ করা হয়েছিল।
চিত্র 1. 10 রিলিজে Intel Arria® 17.0 GX-এর জন্য OpenCL BSP ফ্লোরপ্ল্যান
সর্বাধিক অপারেটিং ফ্রিকোয়েন্সি জন্য নির্দেশিকা
কার্নেল দ্বারা অর্জিত সর্বাধিক অপারেটিং ফ্রিকোয়েন্সি (fmax) মূলত FPGA গতির উপর নির্ভর করে যেহেতু বেশিরভাগ আইপি ইতিমধ্যেই অপ্টিমাইজ করা উচিত। তবে, BSP ফ্লোরপ্ল্যানের উপর নির্ভর করে কিছু fmax হারাতে পারে। প্রাক্তন জন্যample, সাধারণত BSP এর কার্নেল অঞ্চলে কাট-আউটের সংখ্যা কার্নেল fmax কে প্রভাবিত করে।
নিম্নোক্ত চিত্রে যেমন দেখানো হয়েছে, সেরা বেস বীজ অর্জন করতে যা সেরা গড় fmax ফল দেয়:
- প্রথম বেস বীজ নির্বাচন করার পরিবর্তে বেস সংকলনে একটি বীজ সুইপ করুন যা সময় পূরণ করে।
- আমদানি সংকলন সম্পাদন করুন (প্রাক্তন থেকে কয়েকটি কার্নেল ব্যবহার করেampলে ডিজাইন) সব পাসিং বেস বীজ উপর.
- সমস্ত ভিত্তি বীজের জন্য গড় fmax গণনা করুন।
- বেস বীজ নির্বাচন করুন যা সর্বোচ্চ গড় এফএমএক্স দেয়।
সেরা গড় fmax সহ ভিত্তি বীজ BSP এর সাথে মুক্তির জন্য একটি ভাল প্রার্থী। আপনি যদি প্রস্তাবিত পদক্ষেপের চেয়ে ভিন্ন পদ্ধতি অনুসরণ করার সিদ্ধান্ত নেন, তাহলে আপনি কার্নেল আমদানি সংকলন প্রক্রিয়ার fmax-এ 5-10% বৈচিত্র লক্ষ্য করতে পারেন।
চিত্র 2. সেরা ভিত্তি বীজ সনাক্তকরণ
- ফ্লোরপ্ল্যান সীমাবদ্ধতা ছাড়া কার্নেল কত দ্রুত চলতে পারে তা বোঝার জন্য:
1. কার্নেলের একটি সমতল সংকলন সম্পাদন করুন এবং fmax পর্যবেক্ষণ করুন।
2. একই কার্নেলে একটি আমদানি সংকলন সম্পাদন করুন এবং fmax পর্যবেক্ষণ করুন।
3. fmax ফলাফল তুলনা করুন.
ফ্লোরপ্ল্যান সীমাবদ্ধতার কারণে, আমদানি কম্পাইল fmax সবসময় ফ্ল্যাট কম্পাইল fmax থেকে কম হয়। বীজের গোলমাল এড়াতে, আরও বেস বীজ দিয়ে কার্নেল কম্পাইল করুন এবং fmax ফলাফলের তুলনা করার সময় একটি গড় fmax বিবেচনা করুন। - একটি ফ্ল্যাট বা একটি আমদানি সংকলনের সাথে বেস কম্পাইলেশন থেকে কার্নেল fmax এর তুলনা করবেন না। বেস কম্পাইলেশনের সময় কার্নেল ঘড়ির লক্ষ্যগুলি শিথিল করা হয় এবং তাই, আপনি কখনই ভাল ফলাফল পাবেন না।
- বেস বা ইম্পোর্ট কম্পাইলেশনে কার্নেল ক্লক ক্রিটিক্যাল পাথ পর্যবেক্ষণ করুন। যদি ক্রিটিক্যাল পাথটি কার্নেল থেকে ফ্লোরপ্ল্যানে স্ট্যাটিক অঞ্চলে অতিক্রম করে, তাহলে ফ্লোরপ্ল্যান পরিবর্তন করুন বা এই ক্রিটিক্যাল পাথ এড়াতে আরও কয়েকটি বেস সিড চালান।
বিএসপি সম্পদ ব্যবহারের দক্ষতা মূল্যায়নের জন্য নির্দেশিকা
সম্পদের ব্যবহারের হার তত বেশিtage, আপনার বিএসপি-র স্ট্যাটিক এলাকায় এলাকা ব্যবহার তত ভালো। একটি উচ্চ সম্পদ ব্যবহার শতাংশtage এছাড়াও বোঝায় যে কার্নেল অঞ্চলের জন্য আরও সংস্থান উপলব্ধ।
সম্পদ ব্যবহারের শতাংশ গণনা করতে নীচের পদক্ষেপগুলি অনুসরণ করুন৷tagআপনার বিএসপির ই:
- ফিটার রিপোর্টের পার্টিশন পরিসংখ্যান বিভাগের অধীনে উপলব্ধ top.fit.rpt বা base.fit.rpt থেকে FPGA-তে সমস্ত সংস্থানের মানগুলি পান।
- “freeze_wrapper_inst|kernel_system_inst” (কার্ণেল অঞ্চল) এর জন্য মান বাদ দিন।
টিপ:
অন্যান্য সম্পদের মানগুলির চেয়ে অভিযোজিত লজিক মডিউল (ALM) এর মানগুলির উপর বেশি মনোযোগ দিন। সম্পদ ব্যবহারের শতাংশ নিশ্চিত করুনtage ALM-এর জন্য OpenCL রেফারেন্স BSP-এর কাছাকাছি। একটি খুব উচ্চ শতাংশtage ALM এর জন্য কনজেশন হতে পারে, যা সংকলনের সময় বাড়িয়ে দিতে পারে এবং জটিল কার্নেলে রাউটিং কনজেশন প্রবর্তন করতে পারে। যাইহোক, আপনি সর্বদা স্ট্যাটিক অঞ্চলের এলাকা বাড়াতে বা হ্রাস করতে পারেন এবং সংকলনের সময় এবং fmax পর্যবেক্ষণ করতে পারেন।
নিম্নলিখিত টেবিলটি 10 রিলিজে Arria ® 17.0 GX ডিভাইসের OpenCL BSP রিসোর্স ব্যবহার প্রতিফলিত করে।
টেবিল 1।
10 রিলিজে IntelArria 17.0 GX ডিভাইসের OpenCL BSP রিসোর্স ইউটিলাইজেশন
মোট উপলব্ধ | কার্নেলের জন্য সংরক্ষিত | BSP-এর জন্য উপলব্ধ | BSP দ্বারা ব্যবহৃত | 0/0 | |
ALM | 427200 | 393800 | 33400 | 23818. | 71।% |
নিবন্ধন করে | 1708800 | 1575200 | 133600 | 38913 | 29।% |
M2 ঠিক আছে | 2713 | 2534 | 179 | 134 | 75।% |
ডিএসপি | 1518 | 1518 | 0 | 0 | N/A |
লক্ষ্য করুন যে ফ্লোর প্ল্যানিং এমনভাবে সম্পাদিত হয় যাতে স্ট্যাটিক অঞ্চলে কোনো DSP ব্লক থাকবে না।
নথি পুনর্বিবেচনার ইতিহাস
টেবিল 2।
ওপেনসিএল বোর্ড সাপোর্ট প্যাকেজ ফ্লোরপ্ল্যান অপ্টিমাইজেশান গাইডের জন্য ইন্টেল এফপিজিএ SDK-এর নথি সংশোধনের ইতিহাস
তারিখ | সংস্করণ | পরিবর্তন |
আগস্ট-17 | প্রাথমিক মুক্তি। |
অনলাইন সংস্করণ
প্রতিক্রিয়া পাঠান
আইডি: 683312
AN-824
সংস্করণ: 2017.08.08
AN 824: OpenCL™ বোর্ডের জন্য Intel® FPGA SDK
সমর্থন প্যাকেজ ফ্লোরপ্ল্যান অপ্টিমাইজেশান গাইড
দলিল/সম্পদ
![]() |
OpenCL বোর্ড সাপোর্ট প্যাকেজ ফ্লোরপ্ল্যানের জন্য intel AN 824 FPGA SDK [পিডিএফ] ব্যবহারকারীর নির্দেশিকা ওপেনসিএল বোর্ড সাপোর্ট প্যাকেজ ফ্লোরপ্ল্যানের জন্য AN 824 FPGA SDK, AN 824, OpenCL বোর্ড সাপোর্ট প্যাকেজ ফ্লোরপ্ল্যানের জন্য FPGA SDK, OpenCL বোর্ড সাপোর্ট প্যাকেজ ফ্লোরপ্ল্যান, বোর্ড সাপোর্ট প্যাকেজ ফ্লোরপ্ল্যান, সাপোর্ট প্যাকেজ ফ্লোরপ্ল্যান, প্যাকেজ ফ্লোরপ্ল্যান |