Ujumbe wa hitilafu clEnqueueNDRangeKernel (): CL_MEM_OBJECT_ALLOCATION_FAILURE unahusiana na OpenCL (Lugha ya Kompyuta Huria) na inaonyesha kuwa kutofaulu kwa ugawaji wa kumbukumbu kulitokea wakati wa kujaribu kutekeleza kernel kwa kutumia clEnqueueNDRangeKernel . Hii ni kawaida kwa sababu programu haiwezi kutenga kumbukumbu ya kutosha kwenye GPU au CPU kufanya operesheni maalum.
Sababu: Kernel au data inayofanya kazi inahitaji kumbukumbu zaidi ya kumbukumbu inayopatikana kwa GPU.
Suluhisho: Punguza ukubwa wa seti ya data au uondoe kumbukumbu kwa kufunga programu zingine zinazotumia GPU.
Sababu: Kugawanyika kwa kumbukumbu kunaweza kutokea baada ya muda, na kufanya iwe vigumu kutenga vitalu vikubwa vinavyoendelea vya kumbukumbu.
Suluhisho: Anzisha upya programu au mfumo ili kufuta vipande vya kumbukumbu.
Sababu: Programu inaweza kujaribu kutenga kumbukumbu isiyo sahihi au kubwa sana.
Suluhisho: Angalia masuala ya ugawaji wa kumbukumbu katika msimbo wako, kama vile kuomba kumbukumbu kwa safu kubwa sana au kitu.
Sababu: Kunaweza kuwa na udhaifu au vikwazo katika viendeshi vya GPU.
Suluhisho: Hakikisha viendeshi vya GPU vinasasishwa. Ikiwa tatizo linaendelea, jaribu kurudi kwenye toleo la awali thabiti.
Sababu: Majukwaa tofauti ya OpenCL (kama vile AMD, NVIDIA, Intel) yanaweza kuwa na vikwazo tofauti vya ugawaji wa kumbukumbu.
Suluhisho: Angalia mipaka maalum ya jukwaa lako na uhakikishe kuwa programu yako iko ndani ya mipaka hiyo.
Sababu: Kuendesha programu nyingi za OpenCL au programu nyingine zinazotumia GPU kwa wingi zinaweza kukosa rasilimali zinazopatikana.
Suluhisho: Punguza idadi ya programu au kazi zinazotumia GPU kwa wakati mmoja.
Ikiwa tatizo linaendelea baada ya kujaribu njia zilizo hapo juu, unaweza kutoa maelezo zaidi kuhusu muktadha ambapo hitilafu ilitokea, kama vile aina ya GPU iliyotumiwa, ukubwa wa data, au mabadiliko ya hivi karibuni kwenye mfumo au msimbo. Kwa njia hii, suluhisho linaweza kupatikana kwa lengo zaidi.