The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Каталог документации / Раздел "Программирование в Linux" / Оглавление документа
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



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру