- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear MKL developers!
Seems like this two important subroutines zhpgvx and zhegvx are not multi-threaded. Is this true? I run a couple
of tests for different OMP_NUM_THREADS and got no performance impact. (The same test for zgemm works fine and I get nice scaling with increasing of the number of threads).
Cheers,
Anton.
Update: zhegvx scales, but not perfectly (that was my error during the tests). I get double speed on 4 cores comparing with serial version. But zhpgvx doesn't scale.
Seems like this two important subroutines zhpgvx and zhegvx are not multi-threaded. Is this true? I run a couple
of tests for different OMP_NUM_THREADS and got no performance impact. (The same test for zgemm works fine and I get nice scaling with increasing of the number of threads).
Cheers,
Anton.
Update: zhegvx scales, but not perfectly (that was my error during the tests). I get double speed on 4 cores comparing with serial version. But zhpgvx doesn't scale.
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Anton,
it's rather difficult to get a perfect speed-up for zhegvx, so double speed on 4 cores is OK for this routine. zhpgvx is poor scaled indeed (almost no scaling), it can be improved.
Actually, we recommend to use unpacked storage routines rather than packed ones (like zhegvx instead of zhpgvx) for better performance if you have enough memory to allocate the whole matrix.
Thank you for paying attention to the MKL scaling issues.
Michael.

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