next up previous contents
Next: Разработка приложений PETSc Up: Простые примеры PETSc Previous: Параллельное программирование   Contents

Компиляция и запуск программ

Ниже приведен пример компиляции и запуска программы PETSc, использующей MPICH:

eagle: make BOPT=g ex2

gcc -pipe -c -I../../../ -I../../..//include

-I/usr/local/mpi/include -I../../..//src -g

-DPETSC_USE_DEBUG -DPETSC_MALLOC -DPETSC_USE_LOG ex1.c

gcc -g -DPETSC_USE_DEBUG -DPETSC_MALLOC -DPETSC_USE_LOG

  -o ex1 ex1.o

/home/bsmith/petsc/lib/libg/sun4/libpetscsles.a

-L/home/bsmith/petsc/lib/libg/sun4 -lpetscstencil -lpetscgrid

-lpetscsles -lpetscmat -lpetscvec -lpetscsys -lpetscdraw

/usr/local/lapack/lib/lapack.a /usr/local/lapack/lib/blas.a

/usr/lang/SC1.0.1/libF77.a -lm /usr/lang/SC1.0.1/libm.a -lX11

/usr/local/mpi/lib/sun4/ch p4/libmpi.a

/usr/lib/debug/malloc.o /usr/lib/debug/mallocmap.o

/usr/lang/SC1.0.1/libF77.a -lm /usr/lang/SC1.0.1/libm.a -lm

rm -f ex1.o

eagle: mpirun -np 1 ex2

Norm of error 3.6618e-05 iterations 7

eagle: mpirun -np 2 ex2

Norm of error 5.34462e-05 iterations 9

Отметьте, что различные рабочие места могут иметь различные библиотеки и имена компиляторов. Пользователи, столкнувшиеся с трудностями при сборке программ PETSc, могут ознакомиться с руководством по исправлению ошибок на веб-странице PETSc по адресу http://www.mcs.anl.gov/petsc или в файле
${PETSC_DIR}/docs/troubleshooting.html.

Опция -log_summary активирует вывод итоговой информации о производительности, включая времена выполнения, скорость операций с плавающей точкой, и активность обмена сообщениями. Следующая глава содержит детальную информацию о профилировании, включая интерпретацию данных. Этот отдельный пример выполняет решение линейной системы на одном процессоре с использованием GMRES и ILU. Малая скорость операций с плавающей точкой в этом примере обусловлена тем, что код решает малую систему. Этот пример предназначен в основном для демонстрации простоты получения информации о производительности: eagle> mpirun -np 1 ex1 -n 1000 -pc_type ilu -ksp_type gmres -ksp_rtol 1.e-7 -log_summary ------------------------------- PETSc Performance Summary:--------- ex1 on a sun4 named merlin.mcs.anl.gov with 1 processor, by curfman Wed Aug 7 17:24:27 1996 Max Min Avg Total Time (sec): 1.150e-01 1.0 1.150e-01 Objects: 1.900e+01 1.0 1.900e+01 Flops: 3.998e+04 1.0 3.998e+04 3.998e+04 Flops/sec: 3.475e+05 1.0 3.475e+05 MPI Messages: 0.000e+00 0.0 0.000e+00 0.000e+00 MPI Messages: 0.000e+00 0.0 0.000e+00 0.000e+00 (lengths) MPI Reductions: 0.000e+00 0.0 ------------------------------------------------------------------- Phase Count Time (sec) Flops/sec Global} Max Ratio Max Ratio Mess Avg len Reduct %T %F %M %L %R ------------------------------------------------------------------- MatMult 2 2.553e-03 1.0 3.9e+06 1.0 0.0e+00 0.0e+00 0.0e+00 2 25 0 0 0 MatAssemblyBegin 1 2.193e-05 1.0 0.0e+00 0.0 0.0e+00 0.0e+00 0.0e+00 0 0 0 0 0 MatAssemblyEnd 1 5.004e-03 1.0 0.0e+00 0.0 0.0e+00 0.0e+00 0.0e+00 4 0 0 0 0 MatGetReordering 1 3.004e-03 1.0 0.0e+00 0.0 0.0e+00 0.0e+00 0.0e+00 3 0 0 0 0 MatILUFctrSymbol 1 5.719e-03 1.0 0.0e+00 0.0 0.0e+00 0.0e+00 0.0e+00 5 0 0 0 0 MatLUFactorNumer 1 1.092e-02 1.0 2.7e+05 1.0 0.0e+00 0.0e+00 0.0e+00 9 7 0 0 0 MatSolve 2 4.193e-03 1.0 2.4e+06 1.0 0.0e+00 0.0e+00 0.0e+00 4 25 0 0 0 MatSetValues 1000 2.461e-02 1.0 0.0e+00 0.0 0.0e+00 0.0e+00 0.0e+00 21 0 0 0 0 VecDot 1 60e-04 1.0 9.7e+06 1.0 0.0e+00 0.0e+00 0.0e+00 0 5 0 0 0 VecNorm 3 5.870e-04 1.0 1.0e+07 1.0 0.0e+00 0.0e+00 0.0e+00 1 15 0 0 0 VecScale 1 1.640e-04 1.0 6.1e+06 1.0 0.0e+00 0.0e+00 0.0e+00 0 3 0 0 0 VecCopy 1 3.101e-04 1.0 0.0e+00 0.0 0.0e+00 0.0e+00 0.0e+00 0 0 0 0 0 VecSet 3 5.029e-04 1.0 0.0e+00 0.0 0.0e+00 0.0e+00 0.0e+00 0 0 0 0 0 VecAXPY 3 8.690e-04 1.0 6.9e+06 1.0 0.0e+00 0.0e+00 0.0e+00 1 15 0 0 0 VecMAXPY 1 2.550e-04 1.0 7.8e+06 1.0 0.0e+00 0.0e+00 0.0e+00 0 5 0 0 0 SLESSolve 1 1.288e-02 1.0 2.2e+06 1.0 0.0e+00 0.0e+00 0.0e+00 11 70 0 0 0 SLESSetUp 1 2.669e-02 1.0 1.1e+05 1.0 0.0e+00 0.0e+00 0.0e+00 23 7 0 0 0 KSPGMRESOrthog 1 1.151e-03 1.0 3.5e+06 1.0 0.0e+00 0.0e+00 0.0e+00 1 10 0 0 0 PCSetUp 1 24e-02 1.0 1.5e+05 1.0 0.0e+00 0.0e+00 0.0e+00 18 7 0 0 0 PCApply 2 4.474e-03 1.0 2.2e+06 1.0 0.0e+00 0.0e+00 0.0e+00 4 25 0 0 0 -------------------------------------------------------------------------------- Memory usage is given in bytes: Object Type Creations Destructions Memory Descendants' Mem. Index set 3 3 12420 0 Vector 8 8 65728 0 Matrix 2 2 184924 4140 Krylov Solver 1 1 16892 41080 Preconditioner 1 1 0 64872 SLES 1 1 0 122844



2004-06-22