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