Changeset: 1f3d47233508 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1f3d47233508
Modified Files:
monetdb5/extras/bwd/operations.c
monetdb5/extras/bwd/utilities.c
Branch: bwd
Log Message:
* fixed an overflow when filling the gpu buffers
* fixed filling intermediate buffers
Unterschiede (37 Zeilen):
diff --git a/monetdb5/extras/bwd/operations.c b/monetdb5/extras/bwd/operations.c
--- a/monetdb5/extras/bwd/operations.c
+++ b/monetdb5/extras/bwd/operations.c
@@ -148,10 +148,11 @@ cl_int clEnqueueFillBuffer(cl_command_qu
} else {
cl_kernel kernel = clCreateKernel(getZeroOutProgram(),
"zeroOut", &err);
clSetKernelArg(kernel, 0, sizeof(cl_mem), &buffer);
- err = bwdEnqueueNDRangeKernel(getCommandQueue(),
kernel, 1, (const size_t[]){0}, (size_t[]){size/4}, (const size_t[]){64},
num_events_in_wait_list, event_wait_list, event);
+ err = bwdEnqueueNDRangeKernel(getCommandQueue(),
kernel, 1, (const size_t[]){0}, (size_t[]){ ceil(size/128.0)*32}, (const
size_t[]){32}, num_events_in_wait_list, event_wait_list, event);
if(err) printf("#%s, bwdEnqueueNDRangeKernel: %s;\n",
__func__, clError(err));
err= clFinish(getCommandQueue());
if(err) printf("#%s, clFinish: %s;\n", __func__,
clError(err));
+ return err;
}
}
return -1;
diff --git a/monetdb5/extras/bwd/utilities.c b/monetdb5/extras/bwd/utilities.c
--- a/monetdb5/extras/bwd/utilities.c
+++ b/monetdb5/extras/bwd/utilities.c
@@ -109,7 +109,7 @@ char* humanreadablesize(unsigned int val
cl_mem bwdClCreateBuffer(cl_context context, cl_mem_flags flags, size_t size,
void *host_ptr, cl_int *errcode_ret){
- cl_mem result = clCreateBuffer (context, flags, size,
host_ptr,errcode_ret);
+ cl_mem result = clCreateBuffer (context, flags, ceil(size/128.0)*128,
host_ptr,errcode_ret);
char buffer[64];
humanreadablesize(size, buffer, 64);
printf ("created cl_mem %p of size %s\n", result, buffer);
@@ -411,7 +411,7 @@ unsigned int decomposeIntArray(const int
const unsigned int approximationBits = neededBits-residualBits;
const size_t approximationSize = ceil(size*approximationBits/8.0) +
sizeof(long) + sizeof(clTail);
clTail* approximation = GDKzalloc(approximationSize);
- unsigned int i;
+ unsigned long i;
slot->tailOffsetBits = 32-neededBits;
slot->approximationBits = approximationBits;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list