According to the IPP user manual, ippMalloc() and ippsMalloc_xxx() provide buffers aligned to 64-byte boundaries. But an IPP web page says they align to 32-byte boundaries: https://software.intel.com/en-us/articles/performance-tools-for-software-developers-memory-function-...
We are going to use _aligned_malloc() for large buffer memory allocation and want to set the alignment paramter to give the same alignment as IPP does. Should we use 32-byte or 64-byte alignment?
You are right, the documentation is inconsistent here. The article on the IPP web page is quite some years old while we changed the alignment to 64-byte. This is true for all kinds of ippMalloc functions as we also need to support AVX with 512-bit vectors which by nature has to be 64-byte aligned. We will change and update the ippMalloc article on the IPP web page accordingly.
So please use 64-byte alignment in your application to be aligned with the ippMalloc functions.
Thanks for reporting the issue so we can fixed the documentation.