hppiInitAllocLoGKernel, hppiInitAllocDoGKernel from IPP-A February Preview

hppiInitAllocLoGKernel, hppiInitAllocDoGKernel from IPP-A February Preview

I have some problems with hppiInitAllocLoG/DoGKernel functions after updating IPP-A library. Now I use February preview, Win7 64-bit. And the next tests are failed.

TEST(InitKernelTest, LoG)
{
   hppAccel accel;
   hppCreateInstance(HPP_ACCEL_TYPE_ANY, 0, &accel);
   hppiKernel kernel;
   hppStatus status = hppiInitAllocLoGkernel(accel, 3, 1, 1, &kernel);
   EXPECT_EQ(HPP_STATUS_NO_ERROR, status);
   status = hppWait(accel, HPP_TIME_OUT_INFINITE);
   EXPECT_EQ(HPP_STATUS_NO_ERROR, status);
   hppDeleteInstance(accel);
}
 
TEST(InitKernelTest, DoG)
{
   hppAccel accel;
   hppCreateInstance(HPP_ACCEL_TYPE_ANY, 0, &accel);
   hppiKernel kernel;
   hppStatus status = hppiInitAllocDoGkernel(accel, 3, 1, 2, 1, &kernel);
   EXPECT_EQ(HPP_STATUS_NO_ERROR, status);
   status = hppWait(accel, HPP_TIME_OUT_INFINITE);
   EXPECT_EQ(HPP_STATUS_NO_ERROR, status);
   hppDeleteInstance(accel);
}

 

In the first test hppWait returns wrong status, for example  -2147483648. If I use hppiInitAllocLoGKernel before hppiFilterLinear in my code, than hppiFilterLinear returns HPP_STATUS_PARAM_UNSUPPORTED. The second test is crashed with "SEH exception with code 0xc0000005 thrown in the test body"

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Sometimes hppiFilterLinear returns HPP_STATUS_HANDLE_INVALID if I use LoG kernel. I'm sure that the source and destination matrices are correct.

Unfortunately, we were not able to reproduce the issue so far. In your tests, the problem happens only for the sigma and factor values listed above or for any values? Can you provide a standalone code without using externally defined macros that demonstrates the problem? The project with main() function consisting of the following code executes successfully:

int main(int argc, char* argv[])
{

    hppAccel accel;
    hppCreateInstance(HPP_ACCEL_TYPE_ANY, 0, &accel);
    hppiKernel kernel;
    hppStatus status = hppiInitAllocDoGkernel(accel, 3, 1, 2, 1, &kernel);
    if(status != HPP_STATUS_NO_ERROR)
    {
        printf("Fail hppiInitAllocLoGkernel %d\n", status);
        return -1;
    }
    status = hppWait(accel, HPP_TIME_OUT_INFINITE);
    if(status != HPP_STATUS_NO_ERROR)
    {
        printf("Fail Wait %d\n", status);
        return -1;
    }
    hppDeleteInstance(accel);
    printf("SUCCESS\n");
    return 0;

}

Leave a Comment

Please sign in to add a comment. Not a member? Join today