I detected an issue for a Win32 application that uses TBB version 4.
Win32 API function 'CreateThread' fails with system error code 8 when a 'tbb_thread' object creates
a thread and 2GB of memory is reserved\\committed for the Win32 application.
Here are some technical details:
Error Code: 8
Decription: Not enough storage is available to process this command
Define : ERROR_NOT_ENOUGH_MEMORY
IDE: Visual Studio 2005
I setHeap( Reserve\\Commit ) and Stack ( Reserve\\Commit )values to 536,870,912 bytes in [ Project Properties -> Linker -> System ]:
Heap Reserve Size: 536870912
Heap Commit Size: 536870912
Stack Reserve Size : 536870912
Stack Commit Size: 536870912
In total 2GB of memory is reserved\\committed for the Win32 application.I need this for a multiplication oftwo large matrices.
Note 1: This is NOT a problem with TBB. This is some issue, possibly known, with the Win32 API function 'CreateThread'.
Note 2: An MSDN's article about 'Address Windowing Extensions' states:
...The address space is usually split so that 2 GB of address space is directly accessible to the application...