hi,All,
我在编写openCL时调用clEnqueueMapBuffer,在其中blocking_map 是CL_TRUE,event_wait_list以及num_events_in_wait_list 都是NULL。却出现了CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST的错误,我查了一下引起该错误的原因是:
CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST if the map operation is blocking and the execution status of any of the events in event_wait_list is a negative integer value.
event_wait_list
但我的event_wait_list是NULL,根本没有值。该问题主要出现在mali-t760 上,而adreno 以及桌面GPU都没有出现类似的问题。不知是不是驱动bug?
Thx,
Phenix.
谢谢,已经找到是某个kernel 出现错误,但这个kernel 在其他平台gpu上可以运行(AMD,adreno),在mali上运行的不是很顺利。请问下,对于local memory,mali gpu 支持吗?有些时候我把local memory 改掉在mali就能运行。
Hi phenix,
你好, 我想請問一下, 你用的ARM Board 是什麼model SOC..
Thanks
Tse Yi Ping
你好,
我们是在用三星s6做测试的,其它如金立 GN9006 出现同样问题。
zhouzhan
我想請教一下, 你說在kernel code 去掉local memory的意思,是不是把__local 去掉, 對嗎, 還有一個問題, 你有沒有試過把opencv ocl 放上arm mali T768.
Hi Phenix,
Mali支持local memory,不过对于mali来说,local memory和global memory的性能是一样的,所以如果是基于性能考虑的话,可以直接用global memory代替local memory。另外,local memory的大小是有限制的,可以通过调用clGetDeviceInfo(, CL_DEVICE_LOCAL_MEM_SIZE, )来获得当前设备支持的local memory大小。
BR,
Sheri
谢谢,这个我明白的,主要是为了可以利用其它gpu的local memory.
Hi Phenix,
你有没有一个简单的kernel原型,比如参数是什么,做了哪些操作,可以让我这边也可以重现你的问题,做进一步的分析。谢谢!
Hi Sheri
我想請問下, arm mali kernel driver message 顯示“Falied to map memory on GPU" 和 ”JS: Job Hard-Stopped (took more than 2 ticks at 50 ms/tick)" 是什麼意思 ?
Hi tseyiping,
分配内存的时候出错了,虚拟地址空间耗尽,可能是在执行kernel的时候发生的。你可以把详细情况再描述一下吗?还是之前说的那个ocl在rk3288上面的问题吗?
你可以重新开一个帖子把你的问题罗列一下吗?phenix的问题已经解决了,这样也方便后续交流,其他人找起答案来也会比较容易。谢谢!
BR,