GPU কম্পিউটিং - এটা কি?

আপনি কি জিপিইউ কম্পিউটিং বা ত্বরণ সম্পর্কে শুনতে থাকেন, কিন্তু তাদের অর্থ কী তা নিশ্চিত নন? আপনার যা জানা দরকার তা এখানে।

জিপিইউ বা গ্রাফিক্স প্রসেসিং ইউনিট সকল ইলেকট্রনিক সার্কিটে উপস্থিত থাকে যা এক ধরনের প্রদর্শন বা অন্য ধরনের, বিশেষ করে কম্পিউটার তৈরি করে।

প্রারম্ভিক গ্রাফিক্স প্রসেসর তুলনামূলকভাবে সহজ ছিল। কিন্তু গেমিং, 3D অ্যানিমেশন এবং ভিডিও রেন্ডারিং কাজগুলির আবির্ভাবের সাথে যা CPU-গুলিকে তাদের সীমার বাইরে ঠেলে দেয়, আরও শক্তিশালী GPU গুলিকে উদ্ধার করতে হয়েছিল।

এই নতুন GPU কার্ডগুলি সময়ের সাথে সাথে শক্তি এবং জটিলতায় বৃদ্ধি পেয়েছে, বিভিন্ন কোম্পানি এবং গবেষকরা তাদের সমান্তরাল কার্যকর করার সুবিধার জন্য উপায় খুঁজছেন। এই পোস্টটি আপনাকে দেখায় কিভাবে এটি এতদূর যাচ্ছে।

একটি GPU কি?

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

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

GPU কম্পিউটিং কি?

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

GPU কম্পিউটিংয়ের এই বিবর্তনের কারণ গ্রাফিক্স প্রসেসিং ইউনিটের চিত্তাকর্ষক বিকাশ থেকে আসে, যা আধুনিক GPU সিস্টেমের বিতরণ করা সমান্তরাল আর্কিটেকচার থেকে আসে।

কম্পিউটারের সিপিইউ আরও শক্তিশালী হয়ে ওঠার সাথে সাথে এবং আরও জটিল প্রোগ্রাম ও গেম পরিচালনা করতে পারার ফলে, ভিডিও কার্ড নির্মাতারাও আধুনিক কম্পিউটিং এবং থ্রিডি গ্রাফিক্সের অগ্রগতির সাথে তাল মিলিয়ে চলার চেষ্টা করেছিল। ১৯৯৯ সালে এনভিডিয়া বিশ্বের প্রথম জিপিইউ ভিডিও কার্ড হিসেবে জিফোর্স ২৫৬ উন্মোচন করে এবং সেখান থেকেই এর বিবর্তন শুরু হয়।

CPU-র উপর GPU কার্ডগুলির প্রধান সুবিধা হল তাদের সমান্তরাল প্রক্রিয়াকরণ আর্কিটেকচার, যা তাদেরকে বিতরণ করা, সমান্তরাল পদ্ধতিতে বড় ডেটা কাজগুলিকে প্রক্রিয়া করতে সক্ষম করে যা বাধা এবং সিপিইউ জমাট বাধা দেয়।

জিপিইউ কম্পিউটিং এর জন্য অ্যাপ্লিকেশন কি কি?

জিপিইউ কম্পিউটিং এর অ্যাপ্লিকেশন অনেক, এখানে কিছু শীর্ষ ব্যবহার দেখুন:

  1. মেশিন লার্নিং এবং নিউরাল নেটওয়ার্ক
  2. ঝাপসা যুক্তিবিজ্ঞান
  3. জৈব-তথ্যবিদ্যা
  4. আণবিক মডেলিং
  5. ভিডিও রেন্ডারিং
  6. জ্যামিতিক কম্পিউটিং
  7. জলবায়ু গবেষণা এবং আবহাওয়ার পূর্বাভাস
  8. নভোবস্তুবিদ্যা
  9. ক্রিপ্টোগ্রাফি
  10. কম্পিউটার ভিশন
  11. পাসওয়ার্ড ক্র্যাকিং
  12. কোয়ান্টাম গবেষণা

জিপিইউ বনাম সিপিইউ প্রসেসিং

জিপিইউ এবং সিপিইউ উভয়ই ডিজিটাল ডেটা প্রক্রিয়া করে, তবে তারা এটি বিভিন্ন উপায়ে করে। সিপিইউ বা কেন্দ্রীয় প্রক্রিয়াকরণ ইউনিট উচ্চ গতিতে সিরিয়াল প্রক্রিয়াকরণের জন্য ডিজাইন করা হয়েছে, যেখানে জিপিইউগুলি অনেক কম গতিতে সমান্তরাল প্রক্রিয়াকরণের জন্য ডিজাইন করা হয়েছে। অবশ্যই, একটি সিপিইউ হাইপার-থ্রেডিং ব্যবহার করে প্রতি কোরে 2টি থ্রেড পেতে পারে, বা এমনকি কয়েক ডজন কোরও থাকতে পারে, তবে তারা মৌলিকভাবে সিরিয়াল প্রসেসর।

সিপিইউ-তে কয়েকটি কোর থাকতে পারলেও, আধুনিক জিপিইউ-তে হাজার হাজার কোর থাকে; উদাহরণস্বরূপ, এনভিডিয়া জিফোর্স আরটিএক্স ৩০৯০-তে ১০ হাজারেরও বেশি কোর রয়েছে। তবে সিপিইউ-এর চেয়ে এগিয়ে থাকতে হলে, ডেটাটিকে প্যারালাল প্রসেসিং-এ সক্ষম হতে হবে, যেমন একবারে হাজার হাজার ছবি সম্বলিত একটি স্ট্রিম প্রসেস করা।

GPUs বনাম ASICs

ASIC এর অর্থ হল অ্যাপ্লিকেশন স্পেসিফিক ইন্টিগ্রেটেড সার্কিট এবং এর মানে হল যে এটি শুধুমাত্র একটি কাজ সম্পাদন করতে পারে - অর্থাৎ, এটি সম্পাদন করার জন্য ডিজাইন করা হয়েছে। একটি ASIC একটি অনন্য মেশিন যা স্ক্র্যাচ থেকে বিকশিত হয় এবং তৈরি করতে বিশেষজ্ঞ হার্ডওয়্যার জ্ঞান প্রয়োজন। ASIC গুলি সাধারণত ক্রিপ্টোকারেন্সি মাইনিংয়ে ব্যবহৃত হয়, কারণ তারা GPU গুলির তুলনায় ভাল সমান্তরাল প্রক্রিয়াকরণ সুবিধা এবং ভাল দক্ষতা প্রদান করে।

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

ক্রিপ্টোকারেন্সি মাইনিং এর বাইরে, একটি ASIC মেশিনে আপনার হাত রাখা আরও কঠিন হয়ে ওঠে, কারণ সেগুলি ব্যাপক পণ্য নয়। এটি GPU সিস্টেমগুলির সাথে দৃঢ়ভাবে বৈপরীত্য যা আপনি সর্বত্র পেতে পারেন এবং সহজেই কনফিগার করতে পারেন৷

GPU বনাম ক্লাস্টার কম্পিউটিং

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

অন্য দিকে, একটি কম্পিউটার ক্লাস্টার, একাধিক কম্পিউটারকে বোঝায় যেগুলি একটি বড় কম্পিউটার - একটি সুপার কম্পিউটার হিসাবে কাজ করার জন্য একসাথে নেটওয়ার্ক করা হয়। নেটওয়ার্কের প্রতিটি কম্পিউটারকে একটি নোড বলা হয় এবং এতে একটি মাল্টি-কোর CPU, সেইসাথে বোর্ডে এক বা একাধিক GPU কার্ড থাকতে পারে।

প্রতিটি ক্লাস্টারে অবশ্যই একটি মাস্টার নোড থাকতে হবে, যা সামনের কম্পিউটার যা তার কর্মী নোডগুলি পরিচালনা এবং সময়সূচীর জন্য দায়ী৷ এটিতে এমন সফ্টওয়্যারও থাকবে যা তার কর্মী নোডগুলির জন্য ডেটা এবং প্রোগ্রামগুলিকে গণনা করতে এবং ফলাফল ফেরাতে বরাদ্দ করে৷

GPU ত্বরণ বনাম হাইপার-থ্রেডিং

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

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

আধুনিক কম্পিউটারে এখন 2 থেকে 4, 8, 16, 32, ইত্যাদি একাধিক কোর রয়েছে। এছাড়াও, তারা হাইপার-থ্রেডিং বৈশিষ্ট্যযুক্ত, তাই একটি 2-কোর সিপিইউ 4টি থ্রেড অফার করে, একটি 4-কোর 8টি থ্রেড অফার করে এবং আরও অনেক কিছু।

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

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

GPGPU প্রোগ্রামিং বেসিক

জিপিইউ-এর সাধারণ প্রোগ্রামিং প্রাথমিকভাবে ডাইরেক্টএক্স এবং ওপেনজিএল লাইব্রেরি ব্যবহার করে করা হতো। তবে, এগুলো কঠোরভাবে গ্রাফিক্স উন্নয়নের জন্যই ডিজাইন করা হয়েছিল, তাই কাজ করার জন্য আপনার ডেটাকে গ্রাফিকের মতো মডেলে রূপান্তর করতে হতো।

ভাগ্যক্রমে, কয়েক বছর ধরে GPGPU-তে বড় অগ্রগতি হয়েছে, যার ফলে লাইব্রেরি, প্রোগ্রামিং ভাষা এবং কাঠামো তৈরি হয়েছে। এই ফ্রেমওয়ার্কগুলির মধ্যে সবচেয়ে জনপ্রিয় হল Nvidia থেকে CUDA।

CUDA যেকোন ডেভেলপারের জন্য ক্লাসিক GPU প্রোগ্রামিং-এর সূক্ষ্ম-জড়তা জানার প্রয়োজন ছাড়াই GPU প্রোগ্রামিং-এ ডুব দেওয়া সহজ করে তোলে। এটি এমন বৈশিষ্ট্যগুলি সরবরাহ করে যা গ্রাফিক্সের বাইরেও বিকাশকে উন্নত করে, অনেক ইউনিট এমনকি মেশিন-লার্নিং-নির্দিষ্ট ফাংশনগুলিও বৈশিষ্ট্যযুক্ত করে।

উপলব্ধ লাইব্রেরিগুলি স্ক্র্যাচ থেকে নতুন GPU-এক্সিলারেটেড প্রোগ্রাম তৈরি করা বা পূর্ব-লিখিতগুলিকে সমান্তরাল প্রক্রিয়াকরণে মানিয়ে নেওয়া সহজ করে তোলে। আপনি সঠিক লাইব্রেরি চয়ন করুন, সমান্তরাল লুপের জন্য আপনার কোডটি অপ্টিমাইজ করুন, পুনরায় কম্পাইল করুন এবং এটিই।

CUDA কোর বনাম স্ট্রিম প্রসেসর

প্রায়শই আপনি কুডা কোর এবং স্ট্রিম প্রসেসর শব্দ দুটি দেখতে পাবেন। এই দুটি শব্দই সহজভাবে জিপিইউ-এর কোর বা অ্যারিথমেটিক লজিক ইউনিটকে বোঝায় কুডা কোর হলো এনভিডিয়ার একটি মালিকানাধীন প্রযুক্তি, অন্যদিকে স্ট্রিম প্রসেসর হলো এএমডি-র প্রযুক্তি।

আরেকটি শব্দ যা আপনি দেখতে পারেন তা হল স্ট্রিমিং মাল্টি-প্রসেসর বা এসএম। এটি আরেকটি এনভিডিয়া প্রযুক্তি যা মূলত প্রতি SM প্রতি 8টি CUDA কোরকে গোষ্ঠীভুক্ত করেছে। এটি প্রতি কমান্ডে 32টি ঘড়ি চক্র ব্যবহার করে একযোগে 4-থ্রেড ওয়ার্পস চালায়। নতুন ডিজাইনে এখন প্রতি স্ট্রিমিং মাল্টি-প্রসেসরে 100 কোরের বেশি বৈশিষ্ট্য রয়েছে।

সেরা GPU ভাষা এবং লাইব্রেরি

সেখানে অনেক লাইব্রেরি এবং ভাষা আছে যেগুলো Nvidia CUDA এবং AMD উভয় প্ল্যাটফর্মেই কাজ করে। নিম্নলিখিত মাত্র কয়েকটি:

  1. এনভিডিয়া কিউব্লাস - CUDA-এর জন্য মৌলিক রৈখিক বীজগণিত উপপ্রোগ্রাম
  2. cuDNN - গভীর নিউরাল নেটওয়ার্ক লাইব্রেরি
  3. OpenCL - সমান্তরাল প্রোগ্রামিং এর জন্য ওপেন স্ট্যান্ডার্ড
  4. ওপেনএমপি - AMD GPU-এর জন্য
  5. HIP - C++ লাইব্রেরি
  6. এনভিডিয়া কুরান্ড - এলোমেলো সংখ্যা প্রজন্ম
  7. cuFFT - ফাস্ট ফুরিয়ার ট্রান্সফর্মের জন্য
  8. এনভিডিয়া এনপিপি - 2D চিত্র এবং সংকেত প্রক্রিয়াকরণ
  9. জিপিইউ ভিএসআইপিএল - ভেক্টর ইমেজ এবং সিগন্যাল প্রসেসিং
  10. OpenCV - কম্পিউটার ভিশনের জন্য GPU লাইব্রেরি
  11. OpenACC - সমান্তরাল বিকাশের জন্য ভাষা
  12. পিইসিইউতে - CUDA প্ল্যাটফর্মের জন্য পাইথন
  13. টেনসরআরটি - CUDA এর জন্য গভীর শিক্ষা
  14. CUDA C++ - CUDA এর জন্য C++ ভাষা
  15. চুদা গ - CUDA এর জন্য সি ভাষা
  16. CUDA Fortran - FORTRAN বিকাশকারীদের জন্য CUDA

শীর্ষ GPU ক্লাস্টার প্রকল্প

2022 সালের জুন পর্যন্ত, বিশ্বের 8টি দ্রুততম সুপারকম্পিউটারগুলির মধ্যে 10টি GPU-এক্সিলারেটেড। তারা সকলেই লিনাক্স ওএস শেয়ার করে এবং নিম্নরূপ:

মর্যাদাক্রমনামপেটাফ্লপসCPU কোরেরGPU কোণপাওয়ার (কেডব্লু)বছর
1.সীমান্ত1,102591,8728,138,24021,1002022
2.লুমি151.9075,2641,034,8802,9002022
3.শিখর148.6202,7522,211,84010,0962018
4.শৈলশ্রেণী94.64190,0801,382,4007,4382018
5.পার্লমুটার64.59N / AN / A2,5892021
6.সেলিন63.4671,680483,8402,6462020
7.তিয়ানহে-261.445427,0084,554,75218,4822013
8.আডাস্ট্রা46.121,632297,4409212022

উপসংহার

জিপিইউ কম্পিউটিং এবং এর সাথে যা আসে তার মধ্যে এই ডুবের শেষের দিকে পৌঁছে, আপনার এতক্ষণে এর শক্তি এবং সুযোগ সম্পর্কে ধারণা পাওয়া উচিত ছিল।

আরও তথ্যের জন্য, আপনি এখানে এনভিডিয়ার ডেভেলপার প্ল্যাটফর্ম অথবা এখানে এএমডি-র ডেভেলপার প্ল্যাটফর্ম দেখতে পারেন ।

নামদি ওকেকে

নামদি ওকেকে

Nnamdi Okeke একজন কম্পিউটার উত্সাহী যিনি বিস্তৃত বই পড়তে ভালবাসেন। তিনি উইন্ডোজ/ম্যাকের চেয়ে লিনাক্সের জন্য পছন্দ করেছেন এবং ব্যবহার করছেন
উবুন্টু তার প্রথম দিন থেকেই। আপনি তাকে টুইটারের মাধ্যমে ধরতে পারেন bongotrax

প্রবন্ধ: 299

প্রযুক্তিগত জিনিসপত্র গ্রহণ

টেক ট্রেন্ড, স্টার্টআপ ট্রেন্ড, রিভিউ, অনলাইন ইনকাম, ওয়েব টুলস এবং মার্কেটিং মাসে একবার বা দুবার