- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page