Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

Threading problem

Intel_C_Intel
Employee
448 Views
Hi, I am using MKL 6 with the Intel C++ compilter, 7.0 on Windows 2000. I am writing a multi threaded program, and each thread makes thousands of calls to DftiComputeForward(). I use the _beginthread() function for the threading.
In the scenario above, all is well. However, if I use the Visual C++ 6.0 compiler, instead of the intel one, some of the threads run fine, but at a certain point in my program, it crashes and gives the following message:
"abort: stack overlapping detected!
Perhaps you are using over 2MB of stack with unsupported pthreads library that
was built without FLOATING_STACKS defined? This is the default for the
static pthreads library and many unsupported operating systems."
I have no idea what FLOATING_STACKS means. But this leads me to believe that the intel compiler uses it's own threading library which works ok, and VC++ uses a different one which doesn't work.
Has anyone seen this before? The reason I am concerned with getting it to compile with both compilers is that I may have to port it to Linux some day. Is there any sort of setting that I have to set in order to get this problem to go away? Even though it's a threading problem, since it's happening with the MKL functions, I figured someone here might know.
I'm guessing I have to set something relating to FLOATING_STACKS somewhere, but I have no idea where that is.
thanks
0 Kudos
1 Reply
Intel_C_Intel
Employee
448 Views

Nevermind, I got it. The second argument to the _beginthread() function is the stack size. I just set it to some huge number like 100 million and it all worked fine. sorry about that, thanks

-matt

0 Kudos
Reply