Intel® Integrated Performance Primitives
Community support and discussions relating to developing high-performance vision, signal, security, and storage applications.

Function ippsCrossCorr_64f() crashes

opticom25
Beginner
142 Views
Hi all,

when I invoke the function ippsCrossCorr_64f() (cross correlation) with special arguments, it might crash:
ippsCrossCorr_64f(x, 2593, y, 64000, corrIpp, 16001, 32560);

It seems to me, that the amount of memory allocated on the heap before calling this function has an influence on whether it is crashing or not.

In order for you to reproduce the crash find below a minimal demo program as source code and as binary.

I use IPP version 6.1.6, which was statically linked, have a Pentium 4 3.2GHz and use Windows XP 32 bit.

Any idea what causes the crash, e.g. wrong parameters, bug in the function etc.?

Thank you

---------------------------------------------------------------------------------
#include
#include
#include
#include


// Constants
const int MAX_SIGNAL_LEN = 200000;
const int X_LEN = 66468;
const int Y_LEN = 68868;

double *myMalloc(int length)
{
// return (double*)malloc(length*sizeof(double));
// return (double*)ippsMalloc_8u(length*sizeof(double));
return ippsMalloc_64f(length);
}

void myFree(double *x)
{
// free(x);
ippsFree(x);
}

int main()
{
ippStaticInit();

double *corrIpp = (double*)myMalloc(MAX_SIGNAL_LEN);
memset(corrIpp, 0, MAX_SIGNAL_LEN*sizeof(double));

double *x = (double*)myMalloc(X_LEN);
memset(x, 0, (X_LEN)*sizeof(double));

double *y = (double*)myMalloc(Y_LEN);
memset(y, 0, Y_LEN*sizeof(double));

ippsCrossCorr_64f(x, 2593, y, 64000, corrIpp, 16001, 32560);

myFree(x);
myFree(y);
myFree(corrIpp);

return 0;
}


0 Kudos
1 Reply
Chao_Y_Intel
Employee
142 Views

Hello,

I run the code and reproduced the problem. I escalated it to the function owner for future fix

Thanks,
Chao

Reply