1 / 21

Integrating Trilinos Solvers to SEAM code

Integrating Trilinos Solvers to SEAM code. Dagoberto A.R. Justo – UNM Tim Warburton – UNM Bill Spotz – Sandia. SEAM (NCAR). Trilinos (Sandia Lab). AztecOO Epetra Nox Ifpack PETSc Komplex. Spectral Element Atmospheric Method. AztecOO. Solvers CG, CGS, BICGStab, GMRES, Tfqmr

aviv
Download Presentation

Integrating Trilinos Solvers to SEAM code

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Integrating Trilinos Solvers to SEAM code Dagoberto A.R. Justo – UNM Tim Warburton – UNM Bill Spotz – Sandia

  2. SEAM (NCAR) Trilinos (Sandia Lab) • AztecOO • Epetra • Nox • Ifpack • PETSc • Komplex Spectral Element Atmospheric Method

  3. AztecOO • Solvers • CG, CGS, BICGStab, GMRES, Tfqmr • Preconditioners • Diagonal Jacobi, Least Square, Neumann, Domain Decomposition, Symmetric Gauss-Seidel • Matrix Free implementation • C++ (Fortran interface) • MPI

  4. Implementation A Z T E C SEAM CODE . . . Pcg_solver . . (F90) Pcg_solver . . Aztec_solvers( ) . (F90) Sub Aztec_solvers . AZ_Iterate( ) (C) Matrix_vector_C (C) Prec_Jacobi_C (C) Matrix_vector . (F90) Prec_Jacobi . (F90)

  5. Machines used • Pentium III Notebook (serial) • Linux, LAM-MPI, Intel Compilers • Los Lobos at HPC@UNM • Linux Cluster • 256 nodes • IBM Pentium III 750 MHz, 256 KB L2 Cache, 1 Gb RAM • Portland Group compiler • MPICH for Myrinet interconnections

  6. Graphical Results from SEAM Mass Energy

  7. Memory(in Mbytes per processor)

  8. Speed Up • From 1 to 160 processors. • Time of Simulation 144 time iterations x 300 s = 12 h simulation • Verify results using mass, energy,… • (Different result for 1 proc)

  9. Speed Up – SEAMselecting # of elements ne=24x24x6

  10. Speed Up – SEAMselecting order np=6

  11. Speed Up – SEAM+Aztecbest: cgs solver

  12. Speed Up – SEAM+Aztecbest: cgs solver + Least Square preconditioner

  13. Speed Up – SEAM+Aztecincreasing np -> increases speedup

  14. Upshot – SEAM(One CG iteration)

  15. Upshot – SEAM(matrix times vector communication)

  16. Upshot – SEAM+Aztec(One CG iteration)

  17. Upshot – SEAM+Aztec(Matrix times vector communication)

  18. Upshot – SEAM+Aztec(Vector Reduction)

  19. Time (24x24x6 elements, 2 proc.)

  20. Conclusions &Suggested Future Efforts • SEAM+Aztec works! • SEAM+Aztec is 2x slower difference in CG algorithms SEAM+Aztec time-iteration is 50% slower  0.1% of time lost in calls, preparation for Aztec. • More time  better tune-up. • Domain decomposition Preconditioners

  21. Conclusions &Suggested Future Efforts • SEAM + Aztec works! • More time  better tune-up.

More Related