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

dfgmres_init does not intialize ipar

Benedikt_R_
Beginner
1,213 Views

I try to use dfgmres_init, dfgmres, dfgmres_get for the first time and I get an error message after the third iteratition with gmres (rci_request==-12)

Intel MKL RCI FGMRES ERROR:
Parameter IPAR(19)=0 must be a positive integer.
Parameter IPAR(19) was probably altered by mistake outside of DFGMRES routine.
The solution may be wrong.

As a matter of fact IPAR(19) *is* equal to 0 since I initialize ipar to 0s before the call to dfgmres_init.

dfgmres_init and dfgmres keep this initialized value. If I initialize IPAR(19)  with another value before calling dfgmres_init this other value is also kept and the error (with my initialized  value instead 0) is also thrown.

I'm quite shure not to have changed IPAR(19).

I don't understand all ipar's. But IPAR[0-9] seemed to be initialized with resonable values by dfgmres_init.

C++; Windows 10;  64 Bit; compilers_and_libraries_2020.2.254

Any advice?

Best regards, Benedikt

 

Labels (1)
0 Kudos
4 Replies
Benedikt_R_
Beginner
1,188 Views

This problem was solved by calling "dfgmres_check" after "dfgmres_init".

dfgmres_check does not only perform "checks" - it also kind of finishes initialization. (?)

My understanding for now: Usage of "dfgmres_check" should be marked as mandatory.

0 Kudos
Kirill_V_Intel
Employee
1,159 Views

Hello,

Sorry for the late reply. Yes, you're right. The name "check" is misleading, we need to improve our documentation, in particular the description of what the routine does. 

In the docs for ipar parameter we see that a lot of vlaues should be set to some specific values (not just initialized by zero) and typically a call to "check" routine is required to fill in all required values from some minimal set provided by the customer in "init".

Theoreically, a user might fill all the values and avoid the call to the check routine but it is not a user-friendly task.

Thanks for the feedback!

Best,
Kirill

0 Kudos
Gennady_F_Intel
Moderator
1,060 Views

The description of this routine has been updated and available for review. Please check the oneMKL Reference manual follow the link: https://software.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top.html


0 Kudos
Gennady_F_Intel
Moderator
989 Views

This issue has been resolved and we will no longer respond to this thread. If you require additional assistance from Intel, please start a new thread. Any further interaction in this thread will be considered community only. 


0 Kudos
Reply