- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Attached is a test case showing the ZGESVD returning wrong singular values when lwork is large. The test matrix is an identity matrix so that all singular values should be 1. If I choose lwork to be the minimum required value specified by the documenation, then I see no issues. When I query ZGESVD for the optimum lwork using lwork = -1, then the singular values are no longer all 1. Furthermore, the efficiency of the ZGESVD routine drops drastically. For some values of lwork, the routine seems to run forever and I have to kill it.
I'm using MKL 11.3.1 Product Build 20151021 under linux with 8-byte integer default (ILP64 library). I have observed the same issue under windows as well. My compile line is
ifort -i8 -module . test.F90 -L$INTEL_MKL_LIBS -liomp5 -lmkl_intel_ilp64 -lmkl_core -lmkl_intel_thread -lpthread -lm
The output of the test routine is
OpenMP: 0
Intel(R) Math Kernel Library Version 11.3.1 Product Build 20151021 for Intel(R)
64 architecture applications
SUM: (5868.00000000000,0.000000000000000E+000)
Starting SVD TRY 1 5868 5868
LWORK : 17604
Condition #: 1.00000000000000
Done with SVD TRY 1
Starting SVD TRY 2 5868 5868
LWORK : 645480
Condition #: 11.9444068944964
Done with SVD TRY 2
Starting SVD TRY 3 5868 5868
LWORK : 58680
^Cforrtl: error (69): process interrupted (SIGINT)
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi John,
Thank for let us know. We will look into it and get back to you if any news.
Thanks
Ying .

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page