Skip to content

Commit

Permalink
Fix profiling execute_multipass failure with segmentation fault (#2256)
Browse files Browse the repository at this point in the history
The buffer size input to the test function clEnqueueReadBuffer was
incorrect, which cause segmentation fault. And it didn't match the size
for the host allocation outptr
  • Loading branch information
jujiang-del authored Feb 3, 2025
1 parent 5749818 commit cc9e616
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions test_conformance/profiling/execute_multipass.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ static int run_kernel( cl_device_id device, cl_context context, cl_command_queue
// allocate an array memory object to load the filter weights
memobjs[1] =
clCreateBuffer(context, CL_MEM_READ_WRITE,
sizeof(cl_float) * w * h * d * nChannels, NULL, &err);
sizeof(cl_uchar) * w * h * d * nChannels, NULL, &err);
if( memobjs[1] == (cl_mem)0 ){
log_error( " unable to create array using clCreateBuffer\n" );
clReleaseMemObject( memobjs[0] );
Expand Down Expand Up @@ -237,7 +237,9 @@ static int run_kernel( cl_device_id device, cl_context context, cl_command_queue
}

// read output image
err = clEnqueueReadBuffer(queue, memobjs[1], CL_TRUE, 0, w*h*d*nChannels*4, outptr, 0, NULL, NULL);
err = clEnqueueReadBuffer(queue, memobjs[1], CL_TRUE, 0,
sizeof(cl_uchar) * w * h * d * nChannels, outptr,
0, NULL, NULL);
if( err != CL_SUCCESS ){
print_error( err, "clReadImage failed\n" );
clReleaseKernel( kernel[0] );
Expand Down

0 comments on commit cc9e616

Please sign in to comment.