تیزی سے GPUs کو غیر گرافیکل کاموں کے لیے استعمال کیا جا رہا ہے جیسے رسک کمپیوٹیشن، فلوڈ ڈائنامکس کیلکولیشن، اور سیسمک تجزیہ۔ GPU سے چلنے والے آلات کو اپنانے سے ہمیں کیا روکنا ہے؟

آج کا سوال و جواب کا سیشن ہمارے پاس بشکریہ SuperUser—Stack Exchange کی ذیلی تقسیم، سوال و جواب کی ویب سائٹس کی کمیونٹی ڈرائیو گروپنگ ہے۔



سوال

سپر یوزر ریڈر Ell تکنیکی خبروں سے باخبر رہتا ہے اور متجسس ہے کہ ہم مزید GPU پر مبنی نظام کیوں استعمال نہیں کر رہے ہیں:

مجھے ایسا لگتا ہے کہ ان دنوں GPU پر بہت سارے حساب کتاب کیے جاتے ہیں۔ ظاہر ہے کہ گرافکس وہاں کیے جاتے ہیں، لیکن CUDA اور اس جیسے، AI، ہیشنگ الگورتھم (سوچیں Bitcoins) اور دیگر کا استعمال بھی GPU پر کیا جاتا ہے۔ کیوں ہم صرف CPU سے چھٹکارا حاصل نہیں کر سکتے اور GPU کو خود ہی استعمال کر سکتے ہیں؟ GPU کو سی پی یو سے اتنا تیز کیا بناتا ہے؟

واقعی کیوں؟ سی پی یو کو کیا منفرد بناتا ہے؟

جواب

سپر یوزر کا تعاون کرنے والا ڈریگن لارڈ GPUs اور CPUs کے درمیان فرق کا ایک اچھی طرح سے تعاون یافتہ جائزہ پیش کرتا ہے:

TL؛ DR جواب: GPUs میں CPUs کے مقابلے کہیں زیادہ پروسیسر کور ہوتے ہیں، لیکن چونکہ ہر GPU کور CPU کور سے نمایاں طور پر آہستہ چلتا ہے اور اس میں جدید آپریٹنگ سسٹمز کے لیے درکار خصوصیات نہیں ہیں، اس لیے وہ روزمرہ کمپیوٹنگ میں زیادہ تر پروسیسنگ انجام دینے کے لیے موزوں نہیں ہیں۔ وہ کمپیوٹ-انٹینسیو آپریشنز جیسے کہ ویڈیو پروسیسنگ اور فزکس سمولیشنز کے لیے سب سے زیادہ موزوں ہیں۔

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

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

نتیجتاً، GPUs ایسے کاموں کو سنبھالنے کے لیے موزوں نہیں ہیں جن سے نمایاں طور پر فائدہ نہیں ہوتا یا متوازی نہیں کیا جا سکتا، بشمول ورڈ پروسیسرز جیسے بہت سے عام صارف ایپلی کیشنز۔ مزید برآں، GPUs بنیادی طور پر مختلف فن تعمیر کا استعمال کرتے ہیں۔ کسی کو GPU کے کام کرنے کے لیے ایک ایپلیکیشن کو خاص طور پر پروگرام کرنا پڑے گا، اور GPUs کو پروگرام کرنے کے لیے نمایاں طور پر مختلف تکنیکوں کی ضرورت ہے۔ ان مختلف تکنیکوں میں نئی ​​پروگرامنگ زبانیں، موجودہ زبانوں میں تبدیلیاں، اور پروگرامنگ کے نئے پیراڈائمز شامل ہیں جو بہت سے سٹریم پروسیسرز کے ذریعے انجام دینے والے متوازی آپریشن کے طور پر شماری کے اظہار کے لیے بہتر موزوں ہیں۔ GPUs کو پروگرام کرنے کے لیے درکار تکنیکوں کے بارے میں مزید معلومات کے لیے، ویکیپیڈیا کے مضامین دیکھیں سٹریم پروسیسنگ اور متوازی کمپیوٹنگ .

جدید GPUs ویکٹر آپریشنز اور فلوٹنگ پوائنٹ ریاضی کو انجام دینے کے قابل ہیں، جدید ترین کارڈز کے ساتھ دوہری درستگی کے فلوٹنگ پوائنٹ نمبروں کو جوڑنے کے قابل ہیں۔ فریم ورک جیسے CUDA اور OpenCL پروگراموں کو GPUs کے لیے لکھے جانے کے قابل بناتے ہیں، اور GPUs کی نوعیت انھیں انتہائی متوازی آپریشنز کے لیے موزوں بناتی ہے، جیسا کہ سائنسی کمپیوٹنگ میں، جہاں مخصوص GPU کمپیوٹ کارڈز کی ایک سیریز ایک قابل عمل متبادل ہو سکتی ہے۔ کمپیوٹ کلسٹر جیسا کہ NVIDIA Tesla پرسنل سپر کمپیوٹرز . جدید GPUs کے حامل صارفین جو Folding@home کے ساتھ تجربہ کار ہیں وہ اپنا حصہ ڈالنے کے لیے استعمال کر سکتے ہیں۔ GPU کلائنٹس جو کہ بہت تیز رفتاری سے پروٹین فولڈنگ سمولیشن انجام دے سکتا ہے اور اس منصوبے میں مزید کام میں حصہ ڈال سکتا ہے (پڑھنا یقینی بنائیں اکثر پوچھے گئے سوالات سب سے پہلے، خاص طور پر وہ جو GPUs سے متعلق ہیں)۔ GPUs PhysX کا استعمال کرتے ہوئے ویڈیو گیمز میں بہتر فزکس سمولیشن کو بھی فعال کر سکتے ہیں، ویڈیو انکوڈنگ اور ڈی کوڈنگ کو تیز کر سکتے ہیں، اور دوسرے کمپیوٹ-انٹینسیو کام انجام دے سکتے ہیں۔ یہ اس قسم کے کام ہیں جن کو انجام دینے کے لیے GPU سب سے زیادہ موزوں ہیں۔

AMD ایک پروسیسر ڈیزائن کا آغاز کر رہا ہے جسے کہا جاتا ہے۔ ایکسلریٹڈ پروسیسنگ یونٹ (APU) جو روایتی x86 CPU کور کو GPUs کے ساتھ جوڑتا ہے۔ یہ CPU اور GPU اجزاء کو ایک ساتھ کام کرنے اور الگ الگ اجزاء کے لیے محدود جگہ والے سسٹمز پر کارکردگی کو بہتر بنانے کی اجازت دے سکتا ہے۔ جیسے جیسے ٹکنالوجی آگے بڑھ رہی ہے، ہم ان ایک بار الگ ہونے والے حصوں کے کنورجنشن کی بڑھتی ہوئی ڈگری دیکھیں گے۔ تاہم، پی سی آپریٹنگ سسٹمز اور ایپلیکیشنز کے ذریعے انجام پانے والے بہت سے کام اب بھی CPUs کے لیے بہتر ہیں، اور GPU کا استعمال کرتے ہوئے کسی پروگرام کو تیز کرنے کے لیے بہت زیادہ کام کرنے کی ضرورت ہے۔ چونکہ بہت زیادہ موجودہ سافٹ ویئر x86 فن تعمیر کا استعمال کرتے ہیں، اور چونکہ GPUs کو مختلف پروگرامنگ تکنیکوں کی ضرورت ہوتی ہے اور آپریٹنگ سسٹم کے لیے درکار کئی اہم خصوصیات غائب ہیں، اس لیے روزمرہ کمپیوٹنگ کے لیے CPU سے GPU میں عام منتقلی انتہائی مشکل ہے۔


وضاحت میں شامل کرنے کے لئے کچھ ہے؟ کمنٹس میں آواز بند کریں۔ دیگر ٹیک سیوی اسٹیک ایکسچینج صارفین کے مزید جوابات پڑھنا چاہتے ہیں؟ یہاں مکمل بحث کا دھاگہ دیکھیں .

اگلا پڑھیں
  • › اپنے Spotify لپیٹے ہوئے 2021 کو کیسے تلاش کریں۔
  • › کمپیوٹر فولڈر 40 ہے: زیروکس اسٹار نے ڈیسک ٹاپ کیسے بنایا
  • سائبر پیر 2021: بہترین ٹیک ڈیلز
  • › 5 ویب سائٹس کو ہر لینکس صارف کو بک مارک کرنا چاہیے۔
  • › مائیکروسافٹ ایکسل میں فنکشنز بمقابلہ فارمولے: کیا فرق ہے؟
  • › MIL-SPEC ڈراپ پروٹیکشن کیا ہے؟