- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
I want to solve a sparse matrix system A*x=b with A an unsymmetric matrix with 7 diagonals. The values of b are all quite close to 0. For this I want to use the FGMRES solver, but for some reason it doesn't perform a stopping test. If I use the standard stopping test and I write itercount to a file, almost all values are zero (depending on the initial value of x, 5 or 6 of the 100.000 values of itercount are a little over 150 or 50), and if I want to use a user defined stopping test RCI_REQUEST never takes the value of 2, but the solution vector x is still passed to the main program.
the solver subroutine looks like this
subroutine FGMRES(A,IA,X,RHS,N,NZEROS)
CALL DFGMRES_INIT(N, X, RHS, RCI_REQUEST, IPAR, DPAR, TMP)
IF (RCI_REQUEST.NE.0) GOTO 999
IPAR(8)=0
IPAR(9)=0
IPAR(10)=1
DPAR(1)=1.0D-12
CALL DFGMRES_CHECK(N, X, RHS, RCI_REQUEST, IPAR, DPAR, TMP)
IF (RCI_REQUEST.NE.0) GOTO 999
1 CALL DFGMRES(N, X, RHS, RCI_REQUEST, IPAR, DPAR, TMP)
IF (RCI_REQUEST.EQ.0) GOTO 3
IF (RCI_REQUEST.EQ.1) THEN
CALL MKL_DDIAGEMV('N',N, A, N, IA,
NZEROS, TMP(IPAR(22)), TMP(IPAR(23)))
GOTO 1
else if (RCI_REQUEST.eq.2) then
res2 = 0.d0
call
if(res2.gt.crit)then
goto 1
else
goto 3
end if
ELSE IF(RCI_REQUEST.eq.4)then
if(dpar(7).gt.crit)then
goto 1
else
goto 3
end if
ELSE
GOTO 999
ENDIF
3 CALL DFGMRES_GET(N, X, RHS, RCI_REQUEST, IPAR, DPAR, TMP, ITERCOUNT)
GOTO 1000999 PRINT *,'The solver has returned the ERROR code ', RCI_REQUEST
1000 CONTINUE
END SUBROUTINE FGMRES
If anyone could find the error I made in this code it would be a great help.Wouter
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Wouter,
It is hard to answer your question without having a test case. Could you please provide us with the working test case so we can check what went wrong in your code? Probably, the best way to this is to go to MKL support page (http://www.intel.com/support/performancetools/libraries/mkl/index.htm), register (if you are not registered yet), and submit your problem together with the test case. Thank you!

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