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