AnsweredAssumed Answered

clEnqueueFillBuffer(signals) failed (CL_INVALID_VALUE)

Question asked by nibal on Sep 8, 2015
Latest reply on Sep 8, 2015 by nibal

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.

Outcomes