Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
115 Views

Problem in using FGMRES

I met two problems in  using FGMRES .

In the FGMRES example from MKL itself, like "fgmres_no_precon_c.c" , firstly I need build a compact matrix. And there would be the first problem which is exactly same as refered in https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-Linking-with-MKL-in-Debug-mod... when I called function "mkl_sparse_d_create_csr". I can't solve this, so I changed my OS from Windows to UBUNTU. And this problem dissappeared.

But the second problem occured.  There is another function named "dfgmres_init" needed in the FGMRES process. And in my debug, there is this imformation : No source available for "dfgmres_init_() at 0x555555595333" . I comment this line, the next funtion can be called successfully. This made me confused. And I changed gdb, it didn't work.

I used these tools:

  • Library version : MKL 2019 & 2020
  • OS info and version : UBUNTU 18.04
  • Compiler version : GCC 7.5 , GDB 8.3 & 10.1

So, could you use similar environment run the FGMRES process? This will help me a lot. 

0 Kudos
9 Replies
Highlighted
Moderator
95 Views

What do you mean by compact matrix?

I see the link you provided is broken. Could you give us the correct link?

Do you see the problem with Win OS only?



0 Kudos
Highlighted
Beginner
82 Views

here is the link, i am there too

 https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-Linking-with-MKL-in-Debug-mod...

 

what puzzles me now is the second problem.

0 Kudos
Highlighted
Beginner
76 Views

i am sorry that i meant i want a "compressed" format of sparse matrix

0 Kudos
Highlighted
Moderator
63 Views

Regarding the Static Linking with Debug mode problem that is discussed here (https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-Linking-with-MKL-in-Debug-mod...), the problem has been escalated and we are planning to release this fix in the nearest updates of Intel MKL 2021.

The MKL Sparse routines support CSR, CSC, BSR, Diagonal, COO, and Skyline format. Which of them did you try out? Could you give us the reproducer of the problem you want to solve?



0 Kudos
Highlighted
Beginner
58 Views

i wanted to run  the FGMRES example from MKL itself, like "fgmres_no_precon_c.c"

0 Kudos
Highlighted
Moderator
50 Views

How did you link this case?

what version of mkl did you try?


0 Kudos
Highlighted
Moderator
49 Views

playing the the current version of MKL 2020 u4, win OS, threaded by OpenMP, LP64 mode

I see no problem. Here is the log file:

icl /Qmkl fgmres_no_precon_c.c 

>fgmres_no_precon_c.exe

--------------------------------------------------

The SIMPLEST example of usage of RCI FGMRES solver

to solve a non-symmetric indefinite non-degenerate

    algebraic system of linear equations

--------------------------------------------------


Some info about the current run of RCI FGMRES method:


As ipar[7]=1, the automatic test for the maximal number of iterations will be

performed

+++

As ipar[8]=1, the automatic residual test will be performed

+++

As ipar[9]=0, the user-defined stopping test will not be requested, thus,

RCI_request will not take the value 2

+++

As ipar[10]=0, the Preconditioned FGMRES iterations will not be performed,

thus, RCI_request will not take the value 3

+++

As ipar[11]=1, the automatic test for the norm of the next generated vector is

not equal to zero up to rounding and computational errors will be performed,

thus, RCI_request will not take the value 4

+++


 The system has been solved


 The following solution has been obtained:

computed_solution[0]=-1.000000e+00

computed_solution[1]=1.000000e+00

computed_solution[2]=-3.543510e-16

computed_solution[3]=1.000000e+00

computed_solution[4]=-1.000000e+00


 The expected solution is:

expected_solution[0]=-1.000000e+00

expected_solution[1]=1.000000e+00

expected_solution[2]=0.000000e+00

expected_solution[3]=1.000000e+00

expected_solution[4]=-1.000000e+00


 Number of iterations: 5


This example has successfully PASSED through all steps of computation!


0 Kudos
Highlighted
Beginner
42 Views

thanks for your help! 

i used simple icc compiler without any IDE on UBUNTU, and successfully.

so maybe there is some problem with the IDE.

so i decided to use cmake someway to run my own code.

0 Kudos
Highlighted
Moderator
38 Views

yes, using the command line is the very first step to check if the example works correctly. Using the IDE you need to check the list of mkl's libraries you link. We always recommend here to use the mkl linker online adviser to see the list of libs you need to link with. Here is the link to this LA : https://software.intel.com/content/www/us/en/develop/articles/intel-mkl-link-line-advisor.html


0 Kudos