ipps malloc

ipps malloc

I am working on a real-time system, and it appears that ippsmalloc is making a system call which causes a time consuming mode switch. Are the standard malloc/free called by ippsmalloc/ippsfree?

If so, is it ok to pre-allocate aligned memory (instead of dynamically allocating memory) and use the pre-allocated memory with ipp functions?

Is there an ipp function that will pre-allocate aligned memory?

Thanks!

5 帖子 / 0 全新
最新文章
如需更全面地了解编译器优化,请参阅优化注意事项

yes, the standard malloc /free is called by ipp?malloc/ipp?free
there are no ipp function that will pre-allocate aligned memory.

Thank you for the quick response Gennady!

>>...ippsmalloc is making a system call which causes a time consuming mode switch...

I would recommend to pre-allocate all needed memory before switching to a real-time processing ( if it's possible ). I've done some tests a couple of months ago and when large amounts of memory are allocated in the real-time on a Windows platform the performance of Virtual Memory manager goes down significantly.

Regarding aligned memory: if you're using a Desktop Windows platform ( XP, Vista, 7, etc ) try to use 'aligned_malloc' and 'aligned_free' CRT-functions. However, they are Not supported on Windows CE and Mobile platforms.

>>...ippsmalloc is making a system call which causes a time consuming mode switch...

Could you provide more technical details? How did you detect it?

发表评论

登录添加评论。还不是成员?立即加入