cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

nibal
Challenger

clEnqueueFillBuffer(signals) failed (CL_INVALID_VALUE)

Runtime error of my function:

fp = 0;
if (!pass && (err = clEnqueueFillBuffer(cq, avg, &fp, 4, 0, size, 0, NULL,
    &favg)))
    {

        error(log, "clEnqueueFillBuffer(avg) failed (%s)\n", 0, FL, LN, FN,

             clError(err));
         return(FAIL);
    }

if ((pass == MAXPASS - 1) && (err = clEnqueueFillBuffer(cq, signals, &signal,
    sigsz, 0, FFT_SZ * sigsz, 0, NULL, &fsig)))

    {
        error(log, "clEnqueueFillBuffer(signals) failed (%s)\n", 0, FL, LN, FN,
            clError(err));
        return(FAIL);
    }

From gdb:

(gdb) p cq
$15 = (cl_command_queue) 0x9a7060       // cq is valid has worked for all previous calls
(gdb) p signals
$13 = (cl_mem) 0x98d0a0
(gdb) p signal
$11 = {pwr = 0, hz = 0, ts = 0}

(gdb) p sigsz
$14 = 24
(gdb) p fsig
$2 = (cl_event) 0x0

FFT_SZ evaluates to 1024. I use SDK 2.9-1, ocl 1.2, from Ubuntu 14.04, running off my Curacao Pro [Radeon R9 270] (Pitcairn). Can't find anything wrong with it 😞

In fact the Fill buffer that runs before it (pass = 0, avg), runs fine. MAXPASS = 8.

0 Likes
1 Solution
nibal
Challenger

A look at the opencl man pages, revealed that pattern cannot have size 24. It should have 16 or 32 😞

View solution in original post

0 Likes
1 Reply
nibal
Challenger

A look at the opencl man pages, revealed that pattern cannot have size 24. It should have 16 or 32 😞

0 Likes