GPU کمپیوٹنگ - یہ کیا ہے؟

کیا آپ GPU کمپیوٹنگ یا ایکسلریشن کے بارے میں سنتے رہتے ہیں، لیکن آپ کو یقین نہیں ہے کہ ان کا کیا مطلب ہے؟ یہاں وہ سب کچھ ہے جو آپ کو جاننے کی ضرورت ہے۔

GPU یا گرافکس پروسیسنگ یونٹس تمام الیکٹرانک سرکٹس میں موجود ہیں جو ڈسپلے کی ایک شکل یا دوسری شکل پیدا کرتے ہیں، خاص طور پر کمپیوٹر۔

ابتدائی گرافکس پروسیسرز نسبتاً آسان تھے۔ لیکن گیمنگ، 3D اینیمیشن، اور ویڈیو رینڈرنگ کے کاموں کی آمد کے ساتھ جنہوں نے CPUs کو اپنی حدود سے باہر دھکیل دیا، زیادہ طاقتور GPUs کو بچاؤ کے لیے آنا پڑا۔

یہ نئے GPU کارڈز وقت کے ساتھ ساتھ طاقت اور پیچیدگی میں بڑھتے گئے، مختلف کمپنیاں اور محققین اپنے متوازی عمل آوری سے فائدہ اٹھانے کے طریقے تلاش کر رہے ہیں۔ یہ پوسٹ آپ کو دکھاتی ہے کہ یہ اب تک کیسا رہا ہے۔

ایک GPU کیا ہے؟

GPU یا گرافکس پروسیسنگ یونٹ ایک خصوصی سرکٹ ہے جو ڈسپلے کے لیے تصاویر کی تخلیق میں مدد کے لیے ڈیٹا کی ہیرا پھیری کے لیے ڈیزائن کیا گیا ہے۔ دوسرے الفاظ میں، ایک GPU ایک ایسا نظام ہے جو آپ کو کسی بھی ڈسپلے کی سطح پر نظر آنے والی تصاویر بناتا ہے، جیسے کہ کمپیوٹر مانیٹر، اسمارٹ فون اسکرین، گیم کنسولز وغیرہ۔

GPUs ابتدائی طور پر سیدھے آلات تھے جو گرافک عناصر کو ایک ساتھ رکھتے ہیں تاکہ کسی مخصوص ڈیوائس کے لیے ایک مثالی آؤٹ پٹ بنایا جا سکے۔ تاہم، وقت کے ساتھ، اور کمپیوٹر گیمنگ کی آمد کے ساتھ، GPUs نے پیچیدگی اور طاقت میں اضافہ کرنا شروع کر دیا، GPGPU یا GPUs پر عمومی مقصد کمپیوٹنگ.

GPU کمپیوٹنگ کیا ہے؟

GPU کمپیوٹنگ یا GPGPU گرافکس سے آگے کی گنتی کے لیے GPU کا استعمال ہے۔ اس کا مطلب ہے کہ کمپیوٹر کے ویڈیو کارڈ میں سرایت شدہ GPUs کا استعمال کرنا اور اصل میں ڈیٹا کی دیگر اقسام کی گنتی کے لیے کمپیوٹر گرافکس پر کارروائی کرنا، جیسے سائنسی نقالی، کریپٹو کرنسی مائننگ، الجبرا کمپیوٹیشن، موسم کی پیشن گوئی، نیورل نیٹ ورک وغیرہ۔

GPU کمپیوٹنگ کے اس ارتقاء کی وجہ گرافکس پروسیسنگ یونٹس کی متاثر کن ترقی ہے، جو جدید GPU سسٹمز کے تقسیم شدہ متوازی فن تعمیر سے حاصل ہوتی ہے۔

جیسا کہ کمپیوٹر کا CPU زیادہ طاقتور ہوتا گیا اور زیادہ پیچیدہ پروگراموں اور گیمز کو سنبھال سکتا تھا، ویڈیو کارڈ بنانے والوں نے بھی جدید کمپیوٹنگ اور 3D گرافکس میں ہونے والی پیش رفت کو برقرار رکھنے کی کوشش کی۔ Nvidia نے اس کی نقاب کشائی کی۔ GeForce 256 1999 میں دنیا کے پہلے GPU ویڈیو کارڈ کے طور پر اور چیزیں وہاں سے تیار ہوئیں۔

CPUs پر GPU کارڈز کا سب سے بڑا فائدہ ان کا متوازی پروسیسنگ فن تعمیر ہے، جو انہیں تقسیم شدہ، متوازی انداز میں ڈیٹا کے بڑے کاموں پر کارروائی کرنے کے قابل بناتا ہے جو رکاوٹوں اور CPU کو منجمد ہونے سے روکتا ہے۔

GPU کمپیوٹنگ کے لیے ایپلی کیشنز کیا ہیں؟

GPU کمپیوٹنگ کی بہت سی ایپلی کیشنز ہیں، یہاں کچھ سرفہرست استعمالات پر ایک نظر ہے:

  1. مشین لرننگ اور نیورل نیٹ ورکس
  2. مبہم منطق
  3. بایو انفارمیٹکس
  4. مالیکیولر ماڈلنگ
  5. ویڈیو رینڈرنگ
  6. جیومیٹرک کمپیوٹنگ
  7. موسمیاتی تحقیق اور موسم کی پیشن گوئی
  8. Astrophysics
  9. خفیہ نگاری
  10. کمپیوٹر کے نقطہ نظر
  11. پاس ورڈ کریکنگ
  12. کوانٹم ریسرچ

GPU بمقابلہ CPU پروسیسنگ

GPUs اور CPUs دونوں ڈیجیٹل ڈیٹا پر کارروائی کرتے ہیں، لیکن وہ اسے مختلف طریقوں سے کرتے ہیں۔ سی پی یو یا سنٹرل پروسیسنگ یونٹ کو تیز رفتاری پر سیریل پروسیسنگ کے لیے ڈیزائن کیا گیا ہے، جبکہ GPUs کو بہت کم رفتار پر متوازی پروسیسنگ کے لیے ڈیزائن کیا گیا ہے۔ بلاشبہ، ایک سی پی یو 2 تھریڈز فی کور حاصل کرنے کے لیے ہائپر تھریڈنگ کا استعمال کرسکتا ہے، یا اس میں درجنوں کور بھی ہیں، لیکن وہ بنیادی طور پر سیریل پروسیسر ہیں۔

جبکہ CPU میں چند کور ہو سکتے ہیں، جدید GPUs ہزاروں کور کے ساتھ آتے ہیں، مثال کے طور پر، NVIDIA GeForce RTX 3090 جس میں 10K+ کور موجود ہیں۔ اگرچہ CPUs پر فائدہ حاصل کرنے کے لیے، ڈیٹا کو متوازی پروسیسنگ کے قابل ہونا چاہیے، جیسے کہ ایک ساتھ ہزاروں تصاویر پر مشتمل ایک اسٹریم پر کارروائی کرنا۔

GPUs بمقابلہ ASICs

ASIC کا مطلب ہے Application Specific Integrated Circuit اور اس کا مطلب ہے کہ یہ صرف ایک کام انجام دے سکتا ہے - یعنی وہ کام جسے انجام دینے کے لیے اسے ڈیزائن کیا گیا تھا۔ ایک ASIC ایک انوکھی مشین ہے جو شروع سے تیار کی گئی ہے اور اسے بنانے کے لیے ماہر ہارڈویئر کے علم کی ضرورت ہوتی ہے۔ ASICs کو عام طور پر کرپٹو کرنسی مائننگ میں استعمال کیا جاتا ہے، کیونکہ وہ GPUs کے مقابلے میں اچھے متوازی پروسیسنگ فوائد اور بہتر کارکردگی پیش کرتے ہیں۔

تاہم، دونوں کے درمیان بڑا فرق یہ ہے کہ GPUs زیادہ ورسٹائل ہیں۔ مثال کے طور پر، آپ GPUs کا استعمال کرتے ہوئے آسانی سے کرپٹو کرنسی مائننگ رگ بنا سکتے ہیں۔ پرزے آسانی سے دستیاب ہیں اور اگر آپ کان کنی کر چکے ہیں، تو آپ ہمیشہ گیمرز یا دیگر کان کنوں کو GPU کارڈ فروخت کر سکتے ہیں۔ تاہم، ASICs کے ساتھ، آپ صرف استعمال شدہ مشین کو دوسرے کان کنوں کو فروخت کر سکتے ہیں، کیونکہ آپ اس کے ساتھ شاید ہی کچھ اور کر سکتے ہیں۔

کریپٹو کرنسی مائننگ کے علاوہ، ASIC مشین پر ہاتھ رکھنا اور بھی مشکل ہو جاتا ہے، کیونکہ وہ بڑے پیمانے پر مصنوعات نہیں ہیں۔ یہ GPU سسٹمز کے ساتھ سختی سے متصادم ہے جو آپ ہر جگہ حاصل کر سکتے ہیں اور آسانی سے کنفیگر کر سکتے ہیں۔

GPU بمقابلہ کلسٹر کمپیوٹنگ

جب کہ ایک GPU کارڈ میں ہزاروں کور ہوتے ہیں، جو کسی بھی کمپیوٹر میں زبردست طاقت کا اضافہ کرتے ہیں جس سے آپ اسے منسلک کرتے ہیں، آپ نظریاتی طور پر کمپیوٹر مین بورڈ میں جتنے GPU کارڈز کو سنبھال سکتے ہیں شامل کر سکتے ہیں، اور اس کی پروسیسنگ کی صلاحیت کو مزید بڑھا سکتے ہیں۔

دوسری طرف ایک کمپیوٹر کلسٹر سے مراد ایک سے زیادہ کمپیوٹرز ہیں جو ایک بڑے کمپیوٹر یعنی ایک سپر کمپیوٹر کے طور پر کام کرنے کے لیے ایک ساتھ نیٹ ورک ہیں۔ نیٹ ورک پر ہر کمپیوٹر کو نوڈ کہا جاتا ہے اور اس میں ملٹی کور CPU کے ساتھ ساتھ بورڈ پر ایک یا زیادہ GPU کارڈ ہو سکتے ہیں۔

ہر کلسٹر میں ایک ماسٹر نوڈ ہونا ضروری ہے، جو کہ سامنے والا کمپیوٹر ہے جو اپنے ورکر نوڈس کے انتظام اور شیڈولنگ کے لیے ذمہ دار ہے۔ اس میں ایسا سافٹ ویئر بھی ہوگا جو اپنے ورکر نوڈس کے لیے ڈیٹا اور پروگرام مختص کرتا ہے تاکہ نتائج کی گنتی اور واپسی کی جا سکے۔

GPU ایکسلریشن بمقابلہ ہائپر تھریڈنگ

سی پی یو کو ایک ہی وقت میں متعدد کاموں کو سنبھالنے کے لیے ڈیزائن کیا گیا ہے، اور اسی لیے یہ بہت تیز رفتاری سے چلتا ہے، ان متعدد عملوں کے درمیان پروسیسنگ کا وقت طے کرتا ہے۔ تاہم، جب اس کا سامنا ایک کمپیوٹ-انٹینسیو فنکشن کا ہوتا ہے، تو اس کے دوسرے عمل میں واپس آنے سے پہلے یہ لوپ میں کچھ وقت گزار سکتا ہے۔ اس کے نتیجے میں عام طور پر کمپیوٹر کی رفتار سست ہوجاتی ہے، اور اس سے بھی بدتر صورتوں میں، سسٹم مکمل طور پر منجمد ہوجاتا ہے۔

کمپیوٹر ڈیزائنرز ہائپر تھریڈنگ یا GPU ایکسلریشن کا استعمال کرکے اس خوفناک منظر نامے سے بچ سکتے ہیں۔ ہائپر تھریڈنگ ایک واحد CPU کور کو دو پروسیسنگ تھریڈز کے طور پر کام کرنے کی اجازت دیتی ہے۔ لہذا، جب ایک دھاگہ کمپیوٹ-انٹینسیو لوپ میں پھنس جاتا ہے، تو دوسرا دھاگہ پھر بھی سسٹم کو ایک ساتھ روک سکتا ہے۔

جدید کمپیوٹرز میں اب 2 سے 4، 8، 16، 32، اور اسی طرح کے متعدد کور ہیں۔ اس کے علاوہ، وہ ہائپر تھریڈنگ کی خصوصیت رکھتے ہیں، لہذا ایک 2 کور سی پی یو 4 تھریڈز پیش کرتا ہے، 4 کور 8 تھریڈز پیش کرتا ہے، وغیرہ۔

ملٹی کور CPUs کے ساتھ ہائپر تھریڈنگ کمپیوٹنگ کے زیادہ تر مسائل کو حل کرے گی، رکاوٹوں کو روکے گی، اور سادہ گیمز، میوزک پروڈکشن، اور چھوٹے گرافکس، ویڈیو، اور مشین لرننگ پروجیکٹس کے ساتھ اعلیٰ کارکردگی فراہم کرے گی۔ لیکن جب آپ کو اس سے زیادہ طاقت کی ضرورت ہوتی ہے، تو پھر ایک GPU اکثر صحیح حل ہوتا ہے۔

GPU یا ہارڈویئر ایکسلریشن ایک سافٹ ویئر ایپلی کیشن کی قابلیت ہے جو GPUs کے متوازی پروسیسنگ پاور کا فائدہ اٹھاتی ہے تاکہ CPU کو دبائے بغیر بڑی تعداد میں ڈیٹا کو کچل سکے۔ بہت سے پیشہ ورانہ ایپلی کیشنز اچھی طرح سے کام کرنے کے لیے GPU ایکسلریشن پر منحصر ہیں۔ ان میں ویڈیو اور اینیمیشن ڈیزائن/رینڈرنگ پروگرام، انکوڈرز، کرپٹوگرافی، بڑے نیورل نیٹ ورکس وغیرہ شامل ہیں۔

GPGPU پروگرامنگ کی بنیادی باتیں

GPUs کی عام مقصد کی پروگرامنگ ابتدائی طور پر استعمال کرتے ہوئے کی گئی تھی۔ DirectX کے اور اوپن جی ایل لائبریریاں یہ گرافکس کی ترقی کے لیے سختی سے ڈیزائن کیے گئے تھے، تاہم، اس لیے آپ کو کام کرنے کے لیے اپنے ڈیٹا کو گرافک نما ماڈلز میں دوبارہ استعمال کرنا پڑا۔

خوش قسمتی سے، GPGPU میں کئی سالوں میں بڑی ترقی ہوئی ہے، جس کے نتیجے میں لائبریریاں، پروگرامنگ زبانیں، اور فریم ورک بنتے ہیں۔ ان فریم ورک میں سب سے زیادہ مقبول Nvidia سے CUDA ہے۔

CUDA کسی بھی ڈویلپر کے لیے کلاسیکی GPU پروگرامنگ کو جاننے کی ضرورت کے بغیر GPU پروگرامنگ میں غوطہ لگانا آسان بناتا ہے۔ یہ خصوصیات فراہم کرتا ہے جو گرافکس سے آگے ترقی کو بڑھاتا ہے، بہت سے یونٹس یہاں تک کہ مشین لرننگ کے مخصوص افعال کو بھی نمایاں کرتے ہیں۔

دستیاب لائبریریاں شروع سے نئے GPU-تیز پروگرام بنانا یا پہلے سے لکھے ہوئے پروگراموں کو متوازی پروسیسنگ میں ڈھالنا بھی آسان بناتی ہیں۔ آپ صحیح لائبریری کا انتخاب کرتے ہیں، متوازی لوپس کے لیے اپنے کوڈ کو بہتر بناتے ہیں، دوبارہ مرتب کرتے ہیں، اور بس۔

CUDA کور بمقابلہ اسٹریم پروسیسرز

اکثر، آپ شرائط کو پورا کریں گے کوڈا کور اور سٹریم پروسیسرز. دونوں اصطلاحات صرف GPU کور یا کا حوالہ دیتے ہیں۔ ریاضی کی منطق کی اکائیاں ایک GPU کا. CUDA Core Nvidia کی ملکیتی ٹیکنالوجی ہے، جبکہ سٹریم پروسیسرز AMD سے ہیں۔

ایک اور اصطلاح جو آپ کو مل سکتی ہے وہ ہے اسٹریمنگ ملٹی پروسیسر یا ایس ایم۔ یہ ایک اور Nvidia ٹیکنالوجی ہے جس نے اصل میں 8 CUDA cores فی SM گروپ کیا تھا۔ یہ فی کمانڈ 32 کلاک سائیکلوں کا استعمال کرتے ہوئے ایک ہی وقت میں 4 تھریڈ وارپس کو چلاتا ہے۔ نئے ڈیزائنوں میں اب فی سٹریمنگ ملٹی پروسیسر 100 سے زیادہ کور ہیں۔

سرفہرست GPU زبانیں اور لائبریریاں

وہاں بہت ساری لائبریریاں اور زبانیں ہیں جو Nvidia CUDA اور AMD دونوں پلیٹ فارمز پر کام کرتی ہیں۔ مندرجہ ذیل صرف چند ہیں:

  1. Nvidia cuBLAS - CUDA کے لیے بنیادی لکیری الجبرا کے ذیلی پروگرام
  2. cuDNN - گہری عصبی نیٹ ورک لائبریری
  3. OpenCL - متوازی پروگرامنگ کے لیے کھلا معیار
  4. اوپن ایم پی - AMD GPUs کے لیے
  5. HIP - C++ لائبریری
  6. نیوڈیا کرینڈ - بے ترتیب تعداد پیدا کرنا
  7. cuFFT - فاسٹ فوئیر ٹرانسفارم کے لیے
  8. Nvidia NPP - 2D امیج اور سگنل پروسیسنگ
  9. GPU VSIPL - ویکٹر امیج اور سگنل پروسیسنگ
  10. OpenCV - کمپیوٹر ویژن کے لیے GPU لائبریری
  11. اوپن اے سی سی - متوازی ترقی کے لیے زبان
  12. پی سی یو میں - CUDA پلیٹ فارم کے لیے ازگر
  13. TensorRT - CUDA کے لیے گہری تعلیم
  14. CUDA C++ - CUDA کے لیے C++ زبان
  15. CUDA C - CUDA کے لیے C زبان
  16. CUDA فورٹران - FORTRAN ڈویلپرز کے لیے CUDA

سرفہرست GPU کلسٹر پروجیکٹس

جون 2022 تک، دنیا کے 8 تیز ترین سپر کمپیوٹرز میں سے 10 GPU- ایکسلریٹڈ ہیں۔ وہ سبھی لینکس OS کا اشتراک کرتے ہیں، اور درج ذیل ہیں:

درجہ بندینامپیٹا فلپسسی پی یو کورGPU Coresبجلی (کلو واٹ)سال
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

نتیجہ

GPU کمپیوٹنگ اور اس کے ساتھ آنے والی تمام چیزوں میں اس غوطہ خوری کے اختتام پر پہنچ کر، آپ کو اب تک اس کی طاقت اور گنجائش کا اندازہ ہو جانا چاہیے تھا۔

مزید معلومات کے لیے، آپ کا ڈویلپر پلیٹ فارم چیک کر سکتے ہیں۔ Nvidia یہاں یا اس کا AMD یہاں.

نامدی اوکے

نامدی اوکے

Nnamdi Okeke ایک کمپیوٹر کے شوقین ہیں جو کتابوں کی ایک وسیع رینج کو پڑھنا پسند کرتے ہیں۔ اسے ونڈوز/میک پر لینکس کی ترجیح ہے اور وہ استعمال کر رہا ہے۔
اوبنٹو اپنے ابتدائی دنوں سے۔ آپ اسے ٹویٹر کے ذریعے پکڑ سکتے ہیں۔ بونگوٹراکس

مضامین: 298۔

تکنیکی چیزیں وصول کریں۔

تکنیکی رجحانات، آغاز کے رجحانات، جائزے، آن لائن آمدنی، ویب ٹولز اور مارکیٹنگ ماہانہ ایک یا دو بار