লিনাক্স* OS হোস্টে GDB* এর জন্য Intel® ডিস্ট্রিবিউশন দিয়ে শুরু করুন

ডিবাগিং অ্যাপ্লিকেশনের জন্য GDB* এর জন্য Intel® ডিস্ট্রিবিউশন ব্যবহার করা শুরু করুন। CPU এবং GPU ডিভাইসে অফলোড করা কার্নেল সহ অ্যাপ্লিকেশন ডিবাগ করতে ডিবাগার সেট আপ করতে নীচের নির্দেশাবলী অনুসরণ করুন।

GDB* এর জন্য Intel® ডিস্ট্রিবিউশন Intel® oneAPI বেস টুলকিটের অংশ হিসাবে উপলব্ধ। oneAPI টুলকিট সম্পর্কে আরও তথ্যের জন্য, দেখুন পণ্য পৃষ্ঠা.

ভিজিট করুন রিলিজ নোট মূল ক্ষমতা, নতুন বৈশিষ্ট্য এবং পরিচিত সমস্যা সম্পর্কে তথ্যের জন্য পৃষ্ঠা।

আপনি একটি SYCL*s ব্যবহার করতে পারেনample কোড, অ্যারে ট্রান্সফর্ম, GDB এর জন্য Intel® ডিস্ট্রিবিউশন দিয়ে শুরু করতে। এসample ত্রুটি তৈরি করে না এবং কেবল ডিবাগার বৈশিষ্ট্যগুলিকে চিত্রিত করে। কোড ইনপুট অ্যারের উপাদানগুলিকে জোড় বা বিজোড় কিনা তার উপর নির্ভর করে প্রক্রিয়া করে এবং একটি আউটপুট অ্যারে তৈরি করে। আপনি এস ব্যবহার করতে পারেনampএকটি কমান্ড লাইন আর্গুমেন্টের মাধ্যমে নির্বাচিত ডিভাইসটি নির্দিষ্ট করে CPU বা GPU উভয়েই ডিবাগ করতে হবে। মনে রাখবেন যে GPU ডিবাগিংয়ের জন্য দুটি সিস্টেম এবং দূরবর্তী ডিবাগিংয়ের জন্য অতিরিক্ত কনফিগারেশনের প্রয়োজন হতে পারে।

পূর্বশর্ত

আপনি যদি GPU-তে ডিবাগ করার লক্ষ্য রাখেন, তাহলে সর্বশেষ GPU ড্রাইভার ইনস্টল করুন এবং সেগুলি ব্যবহার করার জন্য আপনার সিস্টেম কনফিগার করুন। পড়ুন লিনাক্স* OS এর জন্য Intel® oneAPI টুলকিট ইনস্টলেশন গাইড. নির্দেশাবলী অনুসরণ করুন Intel GPU ড্রাইভার ইনস্টল করুন আপনার সিস্টেমের সাথে মিলে যাওয়া GPU ড্রাইভার ইনস্টল করতে।

উপরন্তু, আপনি GDB এর জন্য Intel® ডিস্ট্রিবিউশনের সাথে GPU ডিবাগ করার জন্য ভিজ্যুয়াল স্টুডিও কোড* এর জন্য একটি এক্সটেনশন ইনস্টল করতে পারেন। পড়ুন Intel® oneAPI টুলকিটস গাইডের সাথে ভিজ্যুয়াল স্টুডিও কোড ব্যবহার করা.

GPU ডিবাগার সেট আপ করুন

GPU ডিবাগার সেট আপ করতে, আপনার অবশ্যই রুট অ্যাক্সেস থাকতে হবে।


উল্লেখ্য কার্নেল ডিবাগিংয়ের সময়, GPU থামানো হয় এবং ভিডিও আউটপুট আপনার টার্গেট মেশিনে অনুপলব্ধ থাকে। এই কারণে, আপনি লক্ষ্য সিস্টেম থেকে GPU ডিবাগ করতে পারবেন না যদি সিস্টেমের GPU কার্ডটি গ্রাফিকাল আউটপুটের জন্যও ব্যবহার করা হয়। এই ক্ষেত্রে, ssh এর মাধ্যমে মেশিনের সাথে সংযোগ করুন।


1. আপনি যদি GPU-তে ডিবাগ করার লক্ষ্য রাখেন, GPU ডিবাগিং সমর্থন করে এমন একটি Linux কার্নেল প্রয়োজন।

a. এ নির্দেশাবলী অনুসরণ করুন সাধারণ উদ্দেশ্যে GPU ক্ষমতার জন্য Intel® সফ্টওয়্যার প্রয়োজনীয় ড্রাইভার ডাউনলোড এবং ইনস্টল করতে।
b. কার্নেলে i915 ডিবাগ সমর্থন সক্ষম করুন:

a. একটি টার্মিনাল খুলুন।
b. গ্রাব খুলুন file /etc/default-এ।
c. গ্রাব মধ্যে file, GRUB_CMDLINE_LINUX_DEFAULT=”” লাইনটি খুঁজুন।
d. উদ্ধৃতিগুলির মধ্যে নিম্নলিখিত পাঠ্যটি লিখুন (""):

i915.debug_eu=1


উল্লেখ্য ডিফল্টরূপে, জিপিইউ ড্রাইভার একটি নির্দিষ্ট সময়ের চেয়ে বেশি সময় ধরে একটি জিপিইউতে ওয়ার্কলোড চালানোর অনুমতি দেয় না। ড্রাইভার হ্যাং হওয়া রোধ করতে GPU রিসেট করে এই ধরনের দীর্ঘ-চলমান কাজের চাপ মেরে ফেলে। ডিবাগারের অধীনে অ্যাপ্লিকেশনটি চলমান থাকলে ড্রাইভারের হ্যাংচেক প্রক্রিয়া নিষ্ক্রিয় করা হয়। আপনি যদি ডিবাগার সংযুক্ত না করেও দীর্ঘ কম্পিউট ওয়ার্কলোড চালানোর পরিকল্পনা করেন, তাহলে আবেদন করার কথা বিবেচনা করুন GPU: হ্যাংচেক অক্ষম করুন যোগ করে

i915.enable_hangcheck=0

একই ভাবে GRUB_CMDLINE_LINUX_DEFAULT লাইন।

c. এই পরিবর্তনগুলি কার্যকর করার জন্য GRUB আপডেট করুন:

sudo update-grub

d. রিবুট করুন।

2. আপনার টুলকিট ইনস্টলেশনের রুটে অবস্থিত সেটভার স্ক্রিপ্ট সোর্সিং করে আপনার CLI পরিবেশ সেট আপ করুন।

লিনাক্স (সুডো):

উৎস /opt/intel/oneapi/setvars.sh

লিনাক্স (ব্যবহারকারী):

উৎস ~/intel/oneapi/setvars.sh

3. সেটআপ পরিবেশ
Intel® oneAPI লেভেল জিরোর জন্য ডিবাগার সমর্থন সক্ষম করতে নিম্নলিখিত পরিবেশ ভেরিয়েবলগুলি ব্যবহার করুন:

ZET_ENABLE_PROGRAM_DEBUGGING=1 রপ্তানি করুন
এক্সপোর্ট IGC_EnableGTLocationDebugging=1

4. সিস্টেম চেক
সবকিছু প্রস্তুত হলে, সিস্টেম কনফিগারেশন নির্ভরযোগ্য কিনা তা নিশ্চিত করতে অনুগ্রহ করে নিম্নলিখিত কমান্ডটি চালান:

python3 /path/to/intel/oneapi/diagnostics/latest/diagnostics.py –ফিল্টার ডিবাগার_sys_চেক -ফোর্স

একটি ভাল কনফিগার করা সিস্টেমের একটি সম্ভাব্য আউটপুট নিম্নরূপ:


ফলাফল পরীক্ষা করে:
================================================ ==============================
নাম চেক করুন: debugger_sys_check
বর্ণনা: GDB* এর জন্য Gdb (Intel(R) ডিস্ট্রিবিউশন ব্যবহার করার জন্য পরিবেশ প্রস্তুত কিনা এই চেকটি যাচাই করে।
ফলাফলের অবস্থা: পাস
ডিবাগার পাওয়া গেছে।
libipt পাওয়া গেছে।
লিবিগা পাওয়া গেছে।
i915 ডিবাগ সক্রিয় করা হয়েছে।
পরিবেশগত পরিবর্তনশীল সঠিক. ================================================ ===============================

1 চেক: 1 পাস, 0 ব্যর্থ, 0 সতর্কতা, 0 ত্রুটি

কনসোল আউটপুট file: /path/to/logs/diagnostics_filter_debugger_sys_check_force.txt JSON আউটপুট file: /path/to/diagnostics/logs/diagnostics_filter_debugger_sys_check_force.json …

ডিবাগ তথ্য দিয়ে প্রোগ্রাম কম্পাইল করুন

আপনি এস ব্যবহার করতে পারেনample প্রকল্প, অ্যারে ট্রান্সফর্ম, অ্যাপ্লিকেশন ডিবাগার দিয়ে দ্রুত শুরু করতে।

1. এস পেতেample, নিম্নলিখিত উপায়গুলির মধ্যে যেকোনো একটি বেছে নিন:

2. s-এর src-এ নেভিগেট করুনampলে প্রকল্প:

cd array-transform/src

3. ডিবাগ তথ্য (-জি পতাকা) সক্ষম করে এবং অপ্টিমাইজেশন (-O0 পতাকা) বন্ধ করে অ্যাপ্লিকেশনটি কম্পাইল করুন।
একটি স্থিতিশীল এবং সঠিক ডিবাগ পরিবেশের জন্য অপ্টিমাইজেশন অক্ষম করার সুপারিশ করা হয়। এটি কম্পাইলার অপ্টিমাইজেশনের পরে কোডে পরিবর্তনের কারণে বিভ্রান্তি এড়াতে সহায়তা করে।


উল্লেখ্য আপনি এখনও অপ্টিমাইজেশান সক্ষম (-O2 ফ্ল্যাগ) সহ প্রোগ্রামটি কম্পাইল করতে পারেন, যদি আপনি GPU অ্যাসেম্বলি ডিবাগিং লক্ষ্য করেন তবে এটি সহায়ক হতে পারে।


আপনি বিভিন্ন উপায়ে প্রোগ্রাম কম্পাইল করতে পারেন। বিকল্প 1 এবং 2 জাস্ট-ইন-টাইম (JIT) সংকলন ব্যবহার করে, যা s ডিবাগ করার জন্য সুপারিশ করা হয়ampলে বিকল্প 3 এগিয়ে-অফ-টাইম (AOT) সংকলন ব্যবহার করে।

  • বিকল্প 1. আপনি CMake ব্যবহার করতে পারেন file কনফিগার করতে এবং অ্যাপ্লিকেশন তৈরি করতে। পড়ুন README s এরampনির্দেশের জন্য le.

উল্লেখ্য সিমেক file s সঙ্গে প্রদানample ইতিমধ্যে -g -O0 পতাকা পাস.


  • বিকল্প 2. array-transform.cpp s কম্পাইল করতেampসিমেক ছাড়াই আবেদন করুন file, নিম্নলিখিত কমান্ড ইস্যু করুন:

icpx -fsycl -g -O0 array-transform.cpp -o অ্যারে-ট্রান্সফর্ম

যদি সংকলন এবং লিঙ্কিং আলাদাভাবে করা হয়, লিঙ্ক ধাপে -g -O0 ফ্ল্যাগগুলি বজায় রাখুন। লিঙ্কের ধাপটি হল যখন icpx এই ফ্ল্যাগগুলিকে অনুবাদ করে রানটাইমে ডিভাইস কম্পাইলারে পাস করার জন্য। যেমনampLe:

icpx -fsycl -g -O0 -c array-transform.cpp
icpx -fsycl -g -O0 array-transform.o -o অ্যারে-ট্রান্সফর্ম

  • বিকল্প 3. রানটাইমে দীর্ঘ JIT সংকলন সময় এড়াতে আপনি AOT সংকলন ব্যবহার করতে পারেন। ডিবাগারের অধীনে বড় কার্নেলের জন্য JIT সংকলন উল্লেখযোগ্যভাবে বেশি সময় নিতে পারে। এহেড-অফ-টাইম সংকলন মোড ব্যবহার করতে:

• একটি GPU-তে ডিবাগ করার জন্য:
আপনি প্রোগ্রাম নির্বাহের জন্য যে ডিভাইসটি ব্যবহার করবেন তা নির্দিষ্ট করুন। প্রাক্তন জন্যample, Intel® ডেটা সেন্টার GPU Flex 2 গ্রাফিক্সের জন্য ডিভাইস dg10-g140। সমর্থিত বিকল্পগুলির তালিকা এবং AOT সংকলন সম্পর্কে আরও তথ্যের জন্য, দেখুন Intel® oneAPI DPC++ কম্পাইলার ডেভেলপার গাইড এবং রেফারেন্স.
প্রাক্তন জন্যampLe:

icpx -fsycl -g -O0 -fsycl-targets=spir64_gen -Xs “-device dg2-g10” array-transform.cpp -o arraytransform

আগাম-অব-টাইম সংকলনের জন্য OpenCLTM অফলাইন কম্পাইলার (OC কম্পাইলার LOC) প্রয়োজন। আরও তথ্যের জন্য, "OpenCLTM অফলাইন কম্পাইলার (OCLOC) ইনস্টল করুন" বিভাগটি দেখুন ইনস্টলেশন গাইড.

• একটি CPU-তে ডিবাগ করার জন্য:

icpx -fsycl -g -O0 -fsycl-targets=spir64_x86_64 array-transform.cpp -o অ্যারে-ট্রান্সফর্ম

একটি ডিবাগ সেশন শুরু করুন

ডিবাগ সেশন শুরু করুন:

1. নিম্নরূপ GDB* এর জন্য Intel® বিতরণ শুরু করুন:

gdb-oneapi অ্যারে-ট্রান্সফর্ম

আপনি (gdb) প্রম্পট দেখতে হবে.

2. সঠিক ডিভাইসে কার্নেল অফলোড করা হয়েছে তা নিশ্চিত করতে, নিম্নলিখিত পদক্ষেপগুলি করুন। আপনি যখন (gdb) প্রম্পট থেকে রান কমান্ডটি চালান, পাস করুন cpu, gpu or এক্সিলারেটর যুক্তি:

  • CPU-তে ডিবাগ করার জন্য:

cpu চালান

Example আউটপুট:

[SYCL] ডিভাইস ব্যবহার করা: [Intel(R) OpenCL] থেকে [Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz]
  • GPU-তে ডিবাগ করার জন্য:

জিপিইউ চালান

Example আউটপুট:

[SYCL] ডিভাইস ব্যবহার করা: [Intel(R) LevelZero] থেকে [Intel(R) Data Center GPU Flex Series 140 [0x56c1]]
  • FPGA-এমুলেটরে ডিবাগ করার জন্য:

এক্সিলারেটর চালান

Example আউটপুট:

[SYCL] ডিভাইস ব্যবহার করা: OpenCL(TM) সফ্টওয়্যারের জন্য [Intel(R) FPGA এমুলেশন প্ল্যাটফর্ম থেকে [Intel(R) FPGA এমুলেশন ডিভাইস]]

উল্লেখ্য cpu, gpu, এবং accelerator প্যারামিটার অ্যারে ট্রান্সফর্ম অ্যাপ্লিকেশনের জন্য নির্দিষ্ট।


3. GDB* এর জন্য Intel® ডিস্ট্রিবিউশন থেকে প্রস্থান করতে:

প্রস্থান

আপনার সুবিধার জন্য, GDB* কমান্ডের জন্য সাধারণ Intel® ডিস্ট্রিবিউশন দেওয়া আছে রেফারেন্স শিট.

অ্যারে ট্রান্সফর্ম ডিবাগ করতেample এবং GDB এর জন্য Intel® ডিস্ট্রিবিউশন সম্পর্কে আরও জানুন, ব্যবহার করে মৌলিক ডিবাগিং পরিস্থিতির মধ্য দিয়ে যান টিউটোরিয়াল.

আরও জানুন
দলিল বর্ণনা
টিউটোরিয়াল: GDB এর জন্য Intel® ডিস্ট্রিবিউশন দিয়ে ডিবাগিং* এই নথিটি GDB* এর জন্য Intel® ডিস্ট্রিবিউশনের সাথে SYCL* এবং OpenCL ডিবাগ করার সময় অনুসরণ করার জন্য মৌলিক পরিস্থিতি বর্ণনা করে।
GDB* ব্যবহারকারী গাইডের জন্য Intel® বিতরণ এই দস্তাবেজটি সমস্ত সাধারণ কাজগুলি বর্ণনা করে যা আপনি GDB এর জন্য Intel® ডিস্ট্রিবিউশন দিয়ে সম্পূর্ণ করতে পারেন এবং প্রয়োজনীয় প্রযুক্তিগত বিবরণ প্রদান করে।
GDB* রিলিজ নোটের জন্য Intel® বিতরণ নোটগুলিতে GDB* এর জন্য Intel® ডিস্ট্রিবিউশনের মূল ক্ষমতা, নতুন বৈশিষ্ট্য এবং পরিচিত সমস্যা সম্পর্কে তথ্য রয়েছে।
oneAPI পণ্য পৃষ্ঠা এই পৃষ্ঠায় oneAPI টুলকিটগুলির সংক্ষিপ্ত ভূমিকা এবং দরকারী সংস্থানগুলির লিঙ্ক রয়েছে৷
GDB* রেফারেন্স শীটের জন্য Intel® বিতরণ এই এক-পৃষ্ঠার নথিটি GDB* পূর্বশর্ত এবং দরকারী কমান্ডের জন্য Intel® বিতরণকে সংক্ষেপে বর্ণনা করে।
জ্যাকোবি এসample এই ছোট SYCL* অ্যাপ্লিকেশনটির দুটি সংস্করণ রয়েছে: বাগড এবং ফিক্সড৷ এস ব্যবহার করুনampGDB* এর জন্য Intel® ডিস্ট্রিবিউশনের সাথে অ্যাপ্লিকেশন ডিবাগিং অনুশীলন করতে।
বিজ্ঞপ্তি এবং দাবিত্যাগ

ইন্টেল প্রযুক্তিগুলির জন্য সক্ষম হার্ডওয়্যার, সফ্টওয়্যার বা পরিষেবা অ্যাক্টিভেশন প্রয়োজন হতে পারে।

কোনও পণ্য বা উপাদান একেবারে সুরক্ষিত হতে পারে না।

আপনার খরচ এবং ফলাফল পৃথক হতে পারে।

© ইন্টেল কর্পোরেশন। ইন্টেল, ইন্টেল লোগো এবং অন্যান্য ইন্টেল চিহ্নগুলি হল ইন্টেল কর্পোরেশন বা এর সহযোগী সংস্থাগুলির ট্রেডমার্ক৷ অন্যান্য নাম এবং ব্র্যান্ডগুলি অন্যের সম্পত্তি হিসাবে দাবি করা যেতে পারে।

এই নথির দ্বারা কোনও বৌদ্ধিক সম্পত্তির অধিকারের জন্য কোনও লাইসেন্স (প্রকাশিত বা উহ্য, এস্টপেল বা অন্যথায়) দেওয়া হয় না।

বর্ণিত পণ্যগুলিতে ডিজাইনের ত্রুটি বা ত্রুটি থাকতে পারে যা errata নামে পরিচিত যা পণ্যটিকে প্রকাশিত স্পেসিফিকেশন থেকে বিচ্যুত করতে পারে। বর্তমান বৈশিষ্ট্যযুক্ত ত্রুটি-বিচ্যুতি অনুরোধে উপলব্ধ।

ইন্টেল সমস্ত প্রকাশ্য এবং অন্তর্নিহিত ওয়ারেন্টি অস্বীকার করে, যার মধ্যে সীমাবদ্ধতা ছাড়াই, ব্যবসায়িকতার অন্তর্নিহিত ওয়ারেন্টি, একটি নির্দিষ্ট উদ্দেশ্যে ফিটনেস, এবং অ-লঙ্ঘন, সেইসাথে কর্মক্ষমতা, লেনদেনের কোর্স, বা বাণিজ্যে ব্যবহার থেকে উদ্ভূত যে কোনও ওয়ারেন্টি।

OpenCL এবং OpenCL লোগো হল Apple Inc.-এর ট্রেডমার্ক যা Khronos-এর অনুমতিতে ব্যবহৃত হয়।

দলিল/সম্পদ

লিনাক্স ওএস হোস্টে জিডিবির জন্য ইন্টেল ডিস্ট্রিবিউশন [পিডিএফ] ব্যবহারকারীর নির্দেশিকা
লিনাক্স ওএস হোস্টে জিডিবি, লিনাক্স ওএস হোস্টে জিডিবি, লিনাক্স ওএস হোস্ট, ওএস হোস্ট, হোস্টের জন্য বিতরণ

তথ্যসূত্র

একটি মন্তব্য করুন

আপনার ইমেল ঠিকানা প্রকাশ করা হবে না. প্রয়োজনীয় ক্ষেত্রগুলি চিহ্নিত করা হয়েছে *