Hallo, i am currently solving a relatively small (3000-6000 equations) system of equations with pardiso. Since i have to solve it millions of times for slightly different system matrices and right hand sides i am trying to omptimize it as much as possible. I already managed to shave a bit of time off by applying iparm(2)=0, so my question is if there are any more tricks that i could apply. The system matrix is real and not symmetric.
I noticed that pardiso takes quite some time for memory allocation, even though i am already reusing pt for every iteration. That seems unneccessary, especially for such a small system.
MSGLVL=2 PERM=0 phase=13 mtype=11 error=0 nrhs=1 mnum=1 maxfct=1 mnum=1 n=GIT%NX*GIT%NY iparm=0_8 CALL PARDISOINIT(pt_temp,mtype,iparm) if (schleife == 1) pt=pt_temp iparm(2)=0 CALL AMUX(n,ZUST%P0,Zwischenergebnis,A,ja,ia) Zwischenergebnis=SYS%RHS-Zwischenergebnis CALL PARDISO(pt, maxfct, mnum, mtype, phase, n, jac_a, jac_ia, jac_ja, perm, nrhs, iparm, msglvl, Zwischenergebnis, Zwischenergebnis2, error) ZUST%P0=ZUST%P0+Zwischenergebnis2