case study: petsc ex19 non-linear solver (snes) 2-d driven cavity code uses velocity-velocity...
Post on 21-Dec-2015
217 views
TRANSCRIPT
![Page 1: Case Study: PETSc ex19 Non-linear solver (snes) 2-D driven cavity code uses velocity-velocity formulation finite difference discretization on a](https://reader034.vdocument.in/reader034/viewer/2022051516/56649d555503460f94a3305c/html5/thumbnails/1.jpg)
Case Study: PETSc ex19
Non-linear solver (snes) 2-D driven cavity code uses velocity-velocity formulation finite difference discretization on a structured grid
Instrumentation: MPI
MPI wrapper interposition library PDT (tau_instrumentor)
PETSc library sources Application
Selective instrumentation (tau_reduce)
![Page 2: Case Study: PETSc ex19 Non-linear solver (snes) 2-D driven cavity code uses velocity-velocity formulation finite difference discretization on a](https://reader034.vdocument.in/reader034/viewer/2022051516/56649d555503460f94a3305c/html5/thumbnails/2.jpg)
Configuring TAU
Profiling with wallclock time (on a quad PIII Linux machine) % configure –mpiinc=/usr/local/packages/mpich/include
–mpilib=/usr/local/packages/mpich/lib –pdt=/usr/pkg/pdtoolkit/ -useropt=-O2 –LINUXTIMERS
Tracing % configure –mpiinc=/usr/local/packages/mpich/include
–mpilib=/usr/local/packages/mpich/lib –pdt=/usr/pkg/pdtoolkit –useropt=-O2 –LINUXTIMERS
Profiling with PAPI % configure –mpiinc=/usr/local/packages/mpich/include
–mpilib=/usr/local/packages/mpich/lib –pdt=/usr/pkg/pdtoolkit/ -useropt=-O2 –papi=/usr/local/packages/papi % setenv PAPI_EVENT PAPI_FP_INS % setenv PAPI_EVENT PAPI_L1_DCM
![Page 3: Case Study: PETSc ex19 Non-linear solver (snes) 2-D driven cavity code uses velocity-velocity formulation finite difference discretization on a](https://reader034.vdocument.in/reader034/viewer/2022051516/56649d555503460f94a3305c/html5/thumbnails/3.jpg)
Compiling: TAU Makefiles
Include TAU Stub Makefile (<arch>/lib) in the user’s Makefile. Variables:
TAU_CXX Specify the C++ compiler used by TAU TAU_CC, TAU_F90 Specify the C, F90 compilers TAU_DEFS Defines used by TAU. Add to CFLAGS TAU_LDFLAGS Linker options. Add to LDFLAGS TAU_INCLUDE Header files include path. Add to CFLAGS TAU_LIBS Statically linked TAU library. Add to LIBS TAU_SHLIBS Dynamically linked TAU library TAU_MPI_LIBS TAU’s MPI wrapper library for C/C++ TAU_MPI_FLIBS TAU’s MPI wrapper library for F90 TAU_FORTRANLIBS Must be linked in with C++ linker for F90. TAU_DISABLE TAU’s dummy F90 stub library
Note: Not including TAU_DEFS in CFLAGS disables instrumentation in C/C++ programs (TAU_DISABLE for f90).
![Page 4: Case Study: PETSc ex19 Non-linear solver (snes) 2-D driven cavity code uses velocity-velocity formulation finite difference discretization on a](https://reader034.vdocument.in/reader034/viewer/2022051516/56649d555503460f94a3305c/html5/thumbnails/4.jpg)
Profiling ex19 (wallclock time)
![Page 5: Case Study: PETSc ex19 Non-linear solver (snes) 2-D driven cavity code uses velocity-velocity formulation finite difference discretization on a](https://reader034.vdocument.in/reader034/viewer/2022051516/56649d555503460f94a3305c/html5/thumbnails/5.jpg)
Profiling ex19 (wallclock time)
![Page 6: Case Study: PETSc ex19 Non-linear solver (snes) 2-D driven cavity code uses velocity-velocity formulation finite difference discretization on a](https://reader034.vdocument.in/reader034/viewer/2022051516/56649d555503460f94a3305c/html5/thumbnails/6.jpg)
Tracing ex19
![Page 7: Case Study: PETSc ex19 Non-linear solver (snes) 2-D driven cavity code uses velocity-velocity formulation finite difference discretization on a](https://reader034.vdocument.in/reader034/viewer/2022051516/56649d555503460f94a3305c/html5/thumbnails/7.jpg)
Callgraph Display for ex19
![Page 8: Case Study: PETSc ex19 Non-linear solver (snes) 2-D driven cavity code uses velocity-velocity formulation finite difference discretization on a](https://reader034.vdocument.in/reader034/viewer/2022051516/56649d555503460f94a3305c/html5/thumbnails/8.jpg)
Using TAU with PAPI (PAPI_FP_INS)
![Page 9: Case Study: PETSc ex19 Non-linear solver (snes) 2-D driven cavity code uses velocity-velocity formulation finite difference discretization on a](https://reader034.vdocument.in/reader034/viewer/2022051516/56649d555503460f94a3305c/html5/thumbnails/9.jpg)
Using TAU with PAPI (PAPI_L1_DCM)
![Page 10: Case Study: PETSc ex19 Non-linear solver (snes) 2-D driven cavity code uses velocity-velocity formulation finite difference discretization on a](https://reader034.vdocument.in/reader034/viewer/2022051516/56649d555503460f94a3305c/html5/thumbnails/10.jpg)
Using TAU with PAPI (PAPI_FP_INS)
![Page 11: Case Study: PETSc ex19 Non-linear solver (snes) 2-D driven cavity code uses velocity-velocity formulation finite difference discretization on a](https://reader034.vdocument.in/reader034/viewer/2022051516/56649d555503460f94a3305c/html5/thumbnails/11.jpg)
Using TAU with PAPI (PAPI_FP_INS)
![Page 12: Case Study: PETSc ex19 Non-linear solver (snes) 2-D driven cavity code uses velocity-velocity formulation finite difference discretization on a](https://reader034.vdocument.in/reader034/viewer/2022051516/56649d555503460f94a3305c/html5/thumbnails/12.jpg)
Support Acknowledgement
TAU and PDT support: Department of Energy (DOE)
DOE 2000 ACTS contract DOE MICS contract DOE ASCI Level 3 (LANL, LLNL) U. of Utah DOE ASCI Level 1 subcontract
DARPA NSF National Young Investigator (NYI) award