Quantcast
Channel: Intel® Software - Intel® Integrated Performance Primitives
Viewing all articles
Browse latest Browse all 1489

ippsFIR_32fc src/dst array sizes?

$
0
0

I'm trying to run a multi-rate FIR filter  in version 8.1 on some data but I am getting strange memory errors.  Running it under valgrind shows various invalid reads/writes occurring within the call to ippsFIR_32fc.  I have tried both with differing source/destinations as well as a shared source/dest.

Here is basically what I am doing:

int upFactor = 1;
int downFactor = 2;
int phase = 0;
int numTaps = 21;
int dataSize = 1024;
int stateBufSize;
Ipp8u* pStateBuf;
IppsFIRState_32fc* pState;

Ipp32fc* pSrcDst = new Ipp32fc[dataSize]; // dataSize * 10 gets rid of memory errors here

ippsFIRMRGetStateSize_32fc(numTaps, upFactor, downFactor, &stateBufSize);
pStateBuf = new Ipp8u[stateBufSize];
ippsFIRMRInit_32fc(&pState, aTaps, numTaps, upFactor, phase, downFactor, phase, NULL, pStateBuf);
ippsFIR_32fc(pSrcDst, pSrcDst, dataSize, pState);

None of the calls return any errors, but valgrind reports many read/write errors and I get segfaults on some systems.  The only way I've found to get rid of the valgrind errors is to increase the size of my src/dst array(s) by 10x (9x isn't good enough).  Am I missing something?  The documentation says that source should be numIters*downFactor and dest should be numIters*upFactor.  For whatever reason that is still 5x smaller than what I truly need.

Any thoughts?

Thanks,

-Bryan

 


Viewing all articles
Browse latest Browse all 1489

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>