- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page