ڈیٹا سینٹرز میں FPGA کی دخول کی ناگزیریت

ڈیٹا سینٹرز میں FPGA کی دخول کی ناگزیریت
آپ کو FPGAs کے لیے پروگرام کرنے کے لیے چپ ڈیزائنر بننے کی ضرورت نہیں ہے، بالکل اسی طرح جیسے آپ کو جاوا میں کوڈ لکھنے کے لیے C++ پروگرامر بننے کی ضرورت نہیں ہے۔ تاہم، دونوں صورتوں میں یہ ممکنہ طور پر مفید ہو گا.

Java اور FPGA دونوں ٹیکنالوجیز کو تجارتی بنانے کا مقصد مؤخر الذکر دعوے کو غلط ثابت کرنا ہے۔ FPGAs کے لیے اچھی خبر - پروگرام قابل منطق ڈیوائس کی ایجاد کے بعد سے گزشتہ 35 سالوں میں درست تجریدی تہوں اور ٹول سیٹ کا استعمال کرتے ہوئے، CPUs، DSPs، GPUs یا حسب ضرورت ASICs کی کسی بھی دوسری شکل کے بجائے FPGAs کے لیے الگورتھم اور ڈیٹا فلو بنانا ہو گیا ہے۔ تیزی سے عام. آسان.

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

اسی لیے ہم نے 22 جنوری کو سان ہوزے میں نیکسٹ FPGA پلیٹ فارم کانفرنس کا اہتمام کیا۔ قدرتی طور پر، دنیا کے اہم FPGA سپلائرز میں سے ایک اور اس علاقے میں ایک علمبردار Xilinx ہے۔ Xilinx کے سینئر نائب صدر اور چیف ٹیکنالوجی آفیسر، Ivo Bolsens نے کانفرنس سے خطاب کیا اور آج ہمیں اس بارے میں اپنے خیالات پیش کیے کہ Xilinx ڈیٹا سینٹرز کے لیے قابل تبدیلی کمپیوٹنگ سسٹم بنانے میں کس طرح مدد کر رہا ہے۔

سسٹم آرکیٹیکٹس اور پروگرامرز کو ایک متضاد ڈیٹا سینٹر تک پہنچنے میں کچھ وقت لگتا ہے، جس میں مختلف قسم کی کمپیوٹنگ پاور، کمپیوٹنگ، اسٹوریج اور نیٹ ورکنگ کے کاموں کو ہینڈل کیا جائے گا۔ یہ ضروری معلوم ہوتا ہے کیونکہ مختلف CMOS چپس کے ساتھ مور کے قانون کی پیروی کرنا مشکل ہوتا جا رہا ہے۔ ابھی کے لیے، ہماری زبان اب بھی سی پی یو پر مرکوز ہے، اور ہم اب بھی "ایپلی کیشن ایکسلریشن" کے بارے میں بات کرتے ہیں، یعنی پروگرام اس سے بہتر چلتے ہیں جو اکیلے سی پی یو پر کیا جا سکتا ہے۔ آخر کار، ڈیٹا سینٹرز کمپیوٹنگ پاور، سٹوریج، اور پروٹوکولز کے مجموعے بن جائیں گے جو ہر چیز کو آپس میں جوڑ دیتے ہیں، اور ہم "کمپیوٹ" اور "ایپلی کیشنز" جیسی اصطلاحات پر واپس آجائیں گے۔ ہائبرڈ کمپیوٹنگ آج کی کلاؤڈ سروسز کی طرح معمول بن جائے گی، جو روایتی یا پر چلتی ہیں۔ ورچوئل مشینیں، اور کسی وقت، ہم ان کے کام کو بیان کرنے کے لیے صرف "کمپیوٹنگ" کا لفظ استعمال کریں گے۔ کسی وقت — اور FPGAs ممکنہ طور پر اس دور کی شروعات میں اہم کردار ادا کریں گے — ہم اسے دوبارہ ڈیٹا پروسیسنگ کہیں گے۔

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

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

"یہ وہ جگہ ہے جہاں میرے خیال میں FPGA مدد کر سکتا ہے، کیونکہ ہم اس بات کو یقینی بنا سکتے ہیں کہ ایپلیکیشن کے کمپیوٹیشنل اور مواصلاتی پہلوؤں کو بہتر بنایا گیا ہے۔ اور ہم یہ مجموعی بنیادی ڈھانچے کی سطح پر اور چپ سطح پر کر سکتے ہیں۔ یہ FPGAs کے عظیم فوائد میں سے ایک ہے، جو آپ کو مخصوص ایپلیکیشن کی ضروریات کے لیے مواصلاتی نیٹ ورک بنانے کی اجازت دیتا ہے۔ AI کام کے بوجھ میں ڈیٹا کی نقل و حرکت کے مخصوص نمونوں کی بنیاد پر، مجھے ایک پیچیدہ سوئچ پر مبنی فن تعمیر کی ضرورت نظر نہیں آتی۔ آپ بڑے ڈیٹا فلو کے ساتھ نیٹ ورک بنا سکتے ہیں۔ اعصابی نیٹ ورک کی تربیت کے کاموں پر بھی یہی لاگو ہوتا ہے - آپ پیکٹ کے سائز کے ساتھ ایک میش نیٹ ورک بنا سکتے ہیں جو کسی مخصوص کام کے مطابق ہو۔ ایک FPGA کا استعمال کرتے ہوئے، ڈیٹا ٹرانسفر پروٹوکول اور سرکٹ ٹوپولاجی کو ایک مخصوص ایپلی کیشن کے مطابق بہت درست طریقے سے سکیل اور تیار کیا جا سکتا ہے۔ اور مشین لرننگ کے معاملے میں، یہ بھی واضح ہے کہ ہمیں دوہری درستگی کے فلوٹنگ پوائنٹ نمبرز کی ضرورت نہیں ہے، اور ہم اسے بھی ایڈجسٹ کر سکتے ہیں۔"

ایف پی جی اے اور سی پی یو یا کسٹم ASIC کے درمیان فرق یہ ہے کہ مؤخر الذکر کو فیکٹری میں پروگرام کیا جاتا ہے، اور اس کے بعد آپ ڈیٹا کی اقسام یا عناصر کی گنتی کے بارے میں یا ڈیٹا کی نوعیت کے بارے میں اپنا خیال نہیں بدل سکتے۔ آلہ کے ذریعے بہاؤ. اگر آپریٹنگ حالات بدل جاتے ہیں تو FPGAs آپ کو اپنا خیال بدلنے کی اجازت دیتے ہیں۔

ماضی میں، یہ فائدہ ایک قیمت پر آیا، جب FPGA پروگرامنگ دل کے بیہوش ہونے کے لیے نہیں تھی۔ ضرورت اس بات کی ہے کہ FPGA کمپائلرز کو کھولنے کے لیے ان ٹولز کے ساتھ بہتر طور پر ضم کیا جائے جو پروگرامرز C، C++، یا Python میں CPU- متوازی ایپلی کیشنز لکھنے کے لیے استعمال کرتے ہیں، اور کچھ کام لائبریریوں کو آؤٹ سورس کرنے کے لیے جو FPGAs پر طریقہ کار کو تیز کرتے ہیں۔ Vitis مشین لرننگ اسٹیک یہی کرتا ہے، ML پلیٹ فارمز جیسے Caffe اور TensorFlow کو طاقت دیتا ہے، روایتی AI ماڈلز کو چلانے کے لیے لائبریریوں کے ساتھ یا FPGA صلاحیتوں کو ویڈیو ٹرانس کوڈنگ، ویڈیو آبجیکٹ کی شناخت، اور ڈیٹا اینالیٹکس جیسے کاموں میں شامل کرتا ہے۔، مالیاتی رسک مینجمنٹ اور کسی تیسرے - پارٹی لائبریریاں۔

یہ تصور Nvidia کے CUDA پروجیکٹ سے زیادہ مختلف نہیں ہے، جو ایک دہائی قبل شروع کیا گیا تھا، جو GPU ایکسلریٹر کے متوازی کمپیوٹنگ کو آف لوڈ کرتا ہے، یا AMD کے ROCm ٹول کٹ سے، یا Intel کے OneAPI پروجیکٹ کے وعدے سے، جو مختلف CPUs، GPUs اور FPGA پر چلنا چاہیے۔

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

"FPGAs تکنیکی فوائد پیش کرتے ہیں،" Bolsens کہتے ہیں۔ - اور یہ موافقت اور دوبارہ ترتیب دینے کے بارے میں صرف عام اشتہار نہیں ہے۔ تمام اہم ایپلی کیشنز میں - مشین لرننگ، گراف تجزیہ، تیز رفتار تجارت وغیرہ۔ - وہ کسی خاص کام کو نہ صرف ڈیٹا ڈسٹری بیوشن پاتھ، بلکہ میموری آرکیٹیکچر کے مطابق ڈھالنے کی صلاحیت رکھتے ہیں - ڈیٹا چپ کے اندر کیسے حرکت کرتا ہے۔ FPGAs میں دیگر آلات کے مقابلے میں بہت زیادہ میموری بھی ہوتی ہے۔ اس بات کو بھی مدنظر رکھا جانا چاہیے کہ اگر کوئی کام ایک FPGA میں فٹ نہیں ہوتا ہے، تو آپ متعدد CPUs یا GPUs میں کاموں کو اسکیل کرتے وقت آپ کو ان نقصانات کا سامنا کیے بغیر متعدد چپس پر اسکیل کرسکتے ہیں۔"

ماخذ: www.habr.com

DDoS تحفظ، VPS VDS سرورز والی سائٹوں کے لیے قابل اعتماد ہوسٹنگ خریدیں۔ DDoS تحفظ، VPS VDS سرورز کے ساتھ قابل اعتماد ویب سائٹ ہوسٹنگ خریدیں۔ ProHoster