- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
We are trying to allocate memory using the ippsmalloc_32fc() method. We have found one case where the allocation is failing and the return value is NULL. It is failing with the following size:
ippsMalloc_32fc(1024 * 50176);
Can someone please tell me why the above call is failing?
Thanks for your help!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
in my understanding it is quite simple...most of such IPP functions are limited to 2GiB...with ippsMalloc_32fc(sizeof(Ipp32fc) * 1024 * 50176); you try to alloc 8 * 411041792 => 3.288.334.336 bytes...that is far beyond the 2GiB limit and cannot succeed.
Kind Regards
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Just checked in my end(oneAPI 2025.0, Windows 10), looks everything is fine.
Please share us your IPP version, compiler, OS, CPU, etc.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Actually, the more accurate method call is as follows:
ippsMalloc_32fc(sizeof(Ipp32fc) * 1024 * 50176);
The IPP version being used is 2020.4.311. The Windows OS version is Windows 10. The compiler being used is Visual Studio 2017. The build memory format is x64. The CPU version is Intel I9-10980XE.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you for the information!
This function allocates memory block aligned to 64-byte boundary for elements of different data types in IPP document here:https://www.intel.com/content/www/us/en/docs/ipp/developer-guide-reference/2022-0/malloc-002.html
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
in my understanding it is quite simple...most of such IPP functions are limited to 2GiB...with ippsMalloc_32fc(sizeof(Ipp32fc) * 1024 * 50176); you try to alloc 8 * 411041792 => 3.288.334.336 bytes...that is far beyond the 2GiB limit and cannot succeed.
Kind Regards
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page