Forum Discussion
HHo2
New Contributor
7 years agohost: acl_mem.c:390: acl_bind_buffer_to_device: Assertion `mem' failed.
My host has 16GB RAM and FPGA also has 16GB RAM.
in my code, I try to create buffer and write data to buffer 16 times, every time will use 1 GB then release it.
for(int i=0; i<16; i++){
device_mem = clCreateBuffer(context, CL_MEM_READ_WRITE, GB, NULL, NULL);
err = clEnqueueReadBuffer(queue, device_mem, CL_TRUE, 0, chunk, device_data, 0, NULL, NULL);
clReleaseMemObject(device_mem);
}but I will get
host: acl_mem.c:390: acl_bind_buffer_to_device: Assertion `mem' failed.
P.S. It work well if I create and release device_mem outside the loop.
1 Reply
- HRZ
Frequent Contributor
You have defined your buffer size as "GB", is this expected? In which iteration do you get the error? There is no guarantee you would be able to allocate 16 GB on the device since parts of the device memory could be reserved for other operations.