I've compiled pardiso solver into a dll. In the computer where i have installed fortran and delphi i can compile in delphi the access to the dll and works fine. But in another computer it crash. May i have installed in this computer some other files ??
Could it be that runtime library dependencies were not statically linked into the DLL and so you're missing those on the other computer? Anybody else have any ideas? We probably need more info, or a test case. -Todd
ALLOCATE (ia(nia))
do i = 1,nia
read(10,*) ia(i)
end doread(10,*) nja
ALLOCATE (ja(nja),a(nja))
do i=1,nja
read(10,*) ja(i)
end dodo i=1,nja
read(10,*) a(i)
end doread(11,*) fh,fnh
ALLOCATE (b(fnh,fh),x(fnh,fh))
nrhs = fh
maxfct = 1
mnum = 1
do i=1,fh
do j=1,fnh
read(11,*) b(j,i)
end doend do
!
! .. Setup Pardiso control parameters und initialize the solvers
! internal adress pointers. This is only necessary for the FIRST
! call of the PARDISO solver.
!
mtype = typ
call pardisoinit(pt, mtype, iparm)
! .. Numbers of Processors ( value of OMP_NUM_THREADS )
iparm(3) = 1
!.. Reordering and Symbolic Factorization, This step also allocates
! all memory that is necessary for the factorization
phase = 11
! only reordering and symbolic factorization
msglvl = 1
! with statistical information
CALL pardiso (pt, maxfct, mnum, mtype, phase, n, a, ia, ja, idum, nrhs, iparm, msglvl, ddum, ddum, error)
WRITE(*,*) 'Reordering completed ... '
IF (error .NE. 0) THENWRITE(*,*) 'The following ERROR was detected: ', error
WRITE(12,'(a)') error
STOPEND IFWRITE(*,*) 'Number of nonzeros in factors = ',iparm(18)
WRITE(*,*) 'Number of factorization MFLOPS = ',iparm(19)
!.. Factorization.
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) THENWRITE(*,*) 'The following ERROR was detected: ', error
STOP
END IF
!.. Back substitution and iterative refinement
iparm(8) = 1
! max numbers of iterative refinement steps
phase = 33
! only factorization
CALL pardiso (pt, maxfct, mnum, mtype, phase, n, a, ia, ja,idum, nrhs, iparm, msglvl, b, x, error)
WRITE(*,*) 'Solve completed ... '
WRITE(*,*) 'The solution of the system is '
if (fnh<20) thenDO i = 1, fh
do j= 1, fnh
WRITE(*,*) ' x(',j,',',i,') = ', x(j,i)
end doEND DOend ifDO i = 1, fh
do j= 1, fnh
WRITE(12,*) x(j,i)
end doEND DO
In the computer on I have installed intel visual fortran and delphi dll access works fine but in another computer where i don't have installed intel visual fortran the program compiled in delphi crashes at start.