- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The title of the thread describes the problem with MKL and I'll provide additional technical details.
Link Copied
- « Previous
-
- 1
- 2
- Next »
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sergey
Can you run VMmap tool and/or Xperf and investigate which library/function(s) is allocating a large amount of memory?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
>>
[ Test 14 ]
OMP_NUM_THREADS=80
KMP_NUM_THREADS=80
...
Calculated ( in seconds ): 328.1630
...
Number of CPUs used: 8 <***************
Number of Threads used: 80 <***********
[ Test 15 ]
OMP_NUM_THREADS=96
KMP_NUM_THREADS=96
...
OMP: Error #136: Cannot create thread. <******* ~2GB/thread
OMP: System error #1455: The paging file is too small for this operation to complete.
OMP: Error #178: Function GetExitCodeThread() failed:
OMP: System error #6: The handle is invalid.
...
Number of CPUs used: N/A
Number of Threads used: N/A
<<
Why are you oversubscribing the threads?
Oversubscription is generally counter-productive
Jim Dempsey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
>>>If you have free time you could spend as much as you can with the test peoject I've attached>>>
I wish I could.I am still waiting for a new computer:)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
>>>Why are you oversubscribing the threads?
Oversubscription is generally counter-productive>>>
Btw a link to interested article about the thread oversubscription :http://blogs.msdn.com/b/visualizeparallel/archive/2009/12/01/oversubscription-a-classic-parallel-performance-problem.aspx?Redirected=true
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I suppose that OpenMP library is pre-allocating or commiting memory as a function of total threads number hence the out of memory (pagefile.sys) situation.This error could be due to improper task partitioning in terms of allocated memory per thread.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Agree with you.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sergey,
Are you using TBB's scalable malloc within a non-TBB app using OpenMP?
Nothing inherently wrong with this, assuming you know how a scalable malloc works. From your earlier posts, one can derive that each thread requires 2GB of RAM. Since this is occuring at thread startup, it is either requested thread stack, or Thread Local Storage. Once this thread is running, its first scalable malloc allocation is going to acquire a slab of RAM to be used in a manner as a private heap that the thread can allocate from _without_ using a critical section. Actually it is like n x private heaps for varying chunk sizes. Scallable malloc requires more memory than standard heap. Do what you can to reduce the 2GB. As your runtime stats show no improvements when you exceed the number of hardware threads, there is no driving reason for you to be requesting that many threads.
Jim Dempsey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sergey,
Yes, you ran your stress test to the point of running out of available Virtual Memory (due to limitations on the page file). What do you expect to happen under these circumstances? The error message you reported early in this thread is self explanitory:
OMP: Error #136: Cannot create thread.
OMP: System error #1455: The paging file is too small for this operation to complete.
You specified how many threads to create, and due to your 2GB/thread setup, you ran out of page file. If you need to stress more threads - increase your page file (or tweak your program to use less than 2GB/thread).
Jim Dempsey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
>>>Smaller values for OMP_STACKSIZE and KMP_STACKSIZE do not resolve the issue>>>
It yet needs to be confirmed which library is making those allocations.When my new pc will arrive I will check your programme with Xperf.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- « Previous
-
- 1
- 2
- Next »