- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I have some trouble with the intrinsic function matmul() in case of parallel prcessing using threads. I use ifort 10.1.021 .
If I run the program sequentially with 1 tread, it works fine.
If I use more than 1 threads it crashes with different errors, e.g.:
Generating Traceback ...
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
Program terminated with signal 11, Segmentation fault.
#0 0x0000002aa0bf8e1c in pthread_mutex_lock () from /lib64/tls/libpthread.so.0
#0 0x0000002aa0bf8e1c in pthread_mutex_lock () from /lib64/tls/libpthread.so.0
#1 0x0000002a9fe16a1e in thr_Mutex::Lock ()
...
I have the suspicion that this lies on matmul() and have overloaded the intrinsic function with an own function and this works also fine. So I think the reason of the problem is the intrinsic matmul().
I am aware, that the intrinsic matmul() is highly optimized and my own function is rather poor. Since my program were used in the field of scientific calculations, I have to pay attention to the cpu-time.
This arises the following questions:
1. Have anyone also problems with the threadsafeness of matmul()?
2. Is there an workaround that not significantly degrade the performance?
Best regards
dieter
I have some trouble with the intrinsic function matmul() in case of parallel prcessing using threads. I use ifort 10.1.021 .
If I run the program sequentially with 1 tread, it works fine.
If I use more than 1 threads it crashes with different errors, e.g.:
Generating Traceback ...
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
Program terminated with signal 11, Segmentation fault.
#0 0x0000002aa0bf8e1c in pthread_mutex_lock () from /lib64/tls/libpthread.so.0
#0 0x0000002aa0bf8e1c in pthread_mutex_lock () from /lib64/tls/libpthread.so.0
#1 0x0000002a9fe16a1e in thr_Mutex::Lock ()
...
I have the suspicion that this lies on matmul() and have overloaded the intrinsic function with an own function and this works also fine. So I think the reason of the problem is the intrinsic matmul().
I am aware, that the intrinsic matmul() is highly optimized and my own function is rather poor. Since my program were used in the field of scientific calculations, I have to pay attention to the cpu-time.
This arises the following questions:
1. Have anyone also problems with the threadsafeness of matmul()?
2. Is there an workaround that not significantly degrade the performance?
Best regards
dieter
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Your program may require larger stack size. See environment variable KMP_STACKSIZE. This sets the stack size for the additional threads, There is also a linkeroption to set the stack size of the application's main thread.
Jim Dempsey
Jim Dempsey
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page