- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear Shanmukh.SS,
Thank you for your response. As I cannot directly reply your response, I post another message about the last topic on Pardiso from XE2020 to intel oneapi.
The version: Intel® Fortran Compiler for applications running on Intel(R) 64, version 2022.2.1 Package ID: w_oneAPI_2022.2.1.19741. I find the install directory of MKL in oneAPI, it also displays in a folder named 2022.2.1. I cannot find other version information about MKL.
As for the program, I formed the system matrix in condensed format as Pardiso needed, I think that is no problem. Then called the pardiso subroutine for solver. The setting of program property includes:
I paste the pardiso subroutine here:
subroutine pardiso_solve2(nrhs,index,N,A,IA,JA,B,X)
IMPLICIT NONE
INTEGER*8 pt(64)
!All other variables
integer index !number of nonzero elements in matrix
INTEGER maxfct, mnum, mtype, phase, n, nrhs, error, msglvl
INTEGER iparm(64), solver
INTEGER ia(n+1) ! array row_ptr
INTEGER ja(index) ! array col_ind
REAL*8 dparm(64)
COMPLEX*16 a(index) !array val
complex*16 b(nrhs*n)
complex*16 x(nrhs*n)
INTEGER i, idum
REAL*8 waltime1, waltime2, ddum
!nrhs=2
maxfct=1
mnum=1
!Fill all arrays containing matrix data.
!set right hand side
mtype = 13 ! complex unsymmetric
solver = 0 ! use sparse direct method
call pardisoinit(pt, mtype, iparm)
iparm(3)=40
phase = 11 ! only reordering and symbolic factorization
msglvl = 0 ! with statistical information
CALL pardiso (pt, maxfct, mnum, mtype, phase, n, a, ia, ja, &
idum, nrhs, iparm, msglvl, ddum, ddum, error, dparm)
!! WRITE(*,*) 'Reordering completed ... '
IF (error .NE. 0) THEN
WRITE(*,*) 'The following ERROR was detected: ', error
STOP
END IF
phase = 22 ! only factorization
CALL pardiso (pt, maxfct, mnum, mtype, phase, n, a, ia, ja, &
idum, nrhs, iparm, msglvl, ddum, ddum, error)
!! WRITE(*,*) 'Factorization completed ... '
IF (error .NE. 0) THEN
WRITE(*,*) 'The following ERROR was detected: ', error
STOP
ENDIF
! Back substitution and iterative refinement
phase = 33 ! only solve
iparm(8) = 1 ! max numbers of iterative refinement steps
CALL pardiso (pt, maxfct, mnum, mtype, phase, n, a, ia, ja, &
idum, nrhs, iparm, msglvl, b, x, error, dparm)
WRITE(*,*) 'Solve completed ... '
phase = -1 ! release internal memory
CALL pardiso (pt, maxfct, mnum, mtype, phase, n, ddum, idum, idum, &
idum, nrhs, iparm, msglvl, ddum, ddum, error, dparm)
return
end subroutine pardiso_solve2
Best regards.
Qibin
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Qibin,
Thanks for sharing the source code.
It seems you were unable to reply to this thread based on your description mentioned in the earlier thread conversation. So we are considering this thread as a continuation of the below thread.
As a simple workaround, could you please refresh the URL in the earlier thread and let us know if the issue persists?
We have tried running the shared source code under our environment. However, we are facing the below issues. could you please share with us the VS project file?
error LNK2019: unresolved external symbol MAIN__ referenced in function main libifcoremd.lib(for_main.obj)
error LNK2019: unresolved external symbol MAIN__ referenced in function main libifcoremd.lib(for_main.obj)
Best Regards,
Shanmukh.SS
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Qibin,
It seems you were unable to reply to this thread based on your description mentioned in the below link(which was created newly), We would like to inform you that we would be monitoring and replying to the thread in the below link itself and closing this thread.
https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/To-Shanmukh-SS/m-p/1496048
Best Regards,
Shanmukh.SS

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