- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

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-mode/td-p/1188256, 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.

Link Copied

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

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?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

here is the link, i am there too

what puzzles me now is the second problem.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

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

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

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-mode/td-p/1188256), 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?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

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

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

How did you link this case?

what version of mkl did you try?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

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!

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

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.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

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

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