Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

Max image size for ippiCopy_8u_AC4C3R

jigong
Beginner
662 Views
I used ippiCopy_8u_AC4C3R to convert RGBA to RGB. When image resolution is set to 2048x2160, my app stops at ippiCopy_8u_AC4C3R to pop up a memory exception. But my app works with 3840x1080 resolution (which is less than 2048x2160). What is maximum image resolution whichippiCopy_8u_AC4C3R can work?
Thanks
Jiuxiang
0 Kudos
7 Replies
SergeyKostrov
Valued Contributor II
662 Views
Quoting jiuxiang
...What is maximum image resolution whichippiCopy_8u_AC4C3R can work?

If IPP function 'ippiMalloc_*' is used to allocate the memory a maximum size of an 8-bit imagecould be34207 x 34207.

If aCRT function 'malloc' is used to allocate the memory a maximum size of an 8-bit imagecould be34208 x 34208.

In both cases it was tested in a Release configuration of some project on a 32-bit Windows XP.

I have two questions:

What is your IPP version?
What is your operating system, that is a 32-bit or 64-bit?

Best regards,
Sergey
0 Kudos
jigong
Beginner
662 Views
Hi Sergey,
My IPP version is 7.0 and OS is 64-bit. Whichever malloc method I used, the resolution I tested is much smaller than its max size.
Thanks for your reply.
Jiuxiang
0 Kudos
SergeyKostrov
Valued Contributor II
662 Views
Quoting jiuxiang
Hi Sergey,
My IPP version is 7.0 and OS is 64-bit. Whichever malloc method I used, the resolution I tested is much smaller than its max size.
Thanks for your reply.
Jiuxiang


Hi Jiuxiang,

Thanks for the information. I'll preparetwo test-cases for you:

1. With ippiMalloc & malloc functions
2. Allocation of Maximum amount of memory for an Operating system.

Also, it would be nice to see a small example how you use IPP functions. Would you be able to provide it?

Best regards,
Sergey

0 Kudos
SergeyKostrov
Valued Contributor II
662 Views
...I'll preparetwo test-cases for you:

1. With ippiMalloc & malloc functions...


Please use a test-case as a prototype for your tests:

[cpp] // Sub-Test 06 - Tests for 'ippiMalloc_8u_C1' and 'CrtMalloc' functions { ///* CrtPrintf( RTU("Sub-Test 06n") ); // ippiMalloc_8u_C1: Max Image size = 34207 x 34207 // CrtMalloc : Max Image size = 34208 x 34208 Ipp8u *pSrcImage = RTnull; Ipp8u *pDstImage = RTnull; while( RTtrue ) { RTint iSrcWidth; RTint iSrcHeight; iSrcWidth = 34207; // For ippiMalloc_8u_C1 function ( ~1.08975GB ) iSrcHeight = 34207; // iSrcWidth = 34208; // For CrtMalloc function ( ~1.08982GB ) // iSrcHeight = 34208; CrtPrintf( RTU("Source Image size: %5ld x %5ldn"), iSrcWidth, iSrcHeight ); RTint iSrcStepBytes = -1; iSrcStepBytes = iSrcWidth; pSrcImage = ( Ipp8u * )::ippiMalloc_8u_C1( iSrcWidth, iSrcHeight, &iSrcStepBytes ); // pSrcImage = ( Ipp8u * )::CrtMalloc( iSrcWidth * iSrcHeight * sizeof( RTuchar ) ); if( pSrcImage == RTnull ) { CrtPrintf( RTU("Memory for Source Image is NOT allocatedn") ); break; } CrtPrintf( RTU("Memory for Source Image is allocatedn") ); IppiSize srcSize = { 0 }; srcSize.width = ( RTint )( iSrcWidth * iSrcHeight ); srcSize.height = 1; // st = ::ippiSet_8u_C1R( 1, pSrcImage, 1, srcSize ); // if( st != ippStsNoErr ) // { // CrtPrintf( RTU("[ ippiSet_8u_C1R ] Failedn") ); // break; // } // CrtPrintf( RTU("[ ippiSet_8u_C1R ] Completedn") ); break; } SysSleep( 2000 ); if( pSrcImage != RTnull ) { ::ippiFree( pSrcImage ); // For ippiMalloc_8u_C1 function // CrtFree( pSrcImage ); // For CrtMalloc function pSrcImage = RTnull; CrtPrintf( RTU("Memory for Source Image deallocatedn") ); } //*/ } [/cpp]
0 Kudos
SergeyKostrov
Valued Contributor II
662 Views
Here is a screenshot:

0 Kudos
SergeyKostrov
Valued Contributor II
662 Views
...I'll preparetwo test-cases for you:

...
2. Allocation of Maximum amount of memory for an Operating system

AVS2005 project from enclosed zip-archive'MemTestAppV3.zip' allows to test how much memory could be allocated
on a 32-bit or 64-bit Windows OSs. A 'Readme.txt' file has lots of Release Notes.

Please take a look at a post fortest results ona 64-bit Windows OS:

http://software.intel.com/en-us/forums/showpost.php?p=189221[EDITED] Sorry, a wrong one...
http://software.intel.com/en-us/forums/showpost.php?p=189214
0 Kudos
SergeyKostrov
Valued Contributor II
662 Views
Quoting jiuxiang
Hi Sergey,
My IPP version is 7.0 and OS is 64-bit. Whichever malloc method I used, the resolution I tested is much smaller than its max size.
Thanks for your reply.
Jiuxiang


This is a follow up: Are there any news? Could you provide a test-case to reproduce the problem?

0 Kudos
Reply