Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
7234 Discussions

segmentation fault calling mkl function in pthread and stacksize question

Jason_Jones1
Beginner
1,197 Views
I have been getting memory corruption and segmentation faults calling some mkl functions inside separate threads created with pthreads. If I disable mkl's fast memory management, everything seems to work. I have had this problem with dgetrf, specifically. I am setting OMP_NUM_THREADS=1 when I run mkl functions in separate threads.

I believe that the problem is a stack overflow; I have been using the default stack size with pthreads. Assuming my diagnosis is correct (please correct me if I am wrong):

How can I determine the size to set for the stack in each pthread I create?

Thanks
0 Kudos
3 Replies
Gennady_F_Intel
Moderator
1,197 Views
There are no specifiec MKL's routines to do that.
Try ulimit -s to increase the size in each thread.
--Gennady
0 Kudos
TimP
Honored Contributor III
1,197 Views
If you are using an MKL OpenMP threaded function, the KMP_STACKSIZE environment variable, or the equivalent call to the OpenMP library, would allow you to set the thread stack size limit. As Gennady mentioned, you would still require attention to the overall stack size limit.
0 Kudos
Jason_Jones1
Beginner
1,197 Views
Thank you for the quick response!

My question is not how to increase the stack size of my threads. My question is: how large does the mkl library need the stack for any given thread to be if I am to use the fast memory management feature? I have not found found any specifics in the docs.

BTW, I am passing all of my data to the mkl functions as double pointers on the heap rather than arrays on the stack.

Jason
0 Kudos
Reply