Высокопроизводительные вычисления на кластерах. Беликов Д.А - 145 стр.

UptoLike

145
./petsc_program_name -help
8.2 Cтруктура PETSc-программ
Все PETSc-программы должны включать заголовочные файлы,
необходимые для используемых компонентов PETSc, следующим
образом:
#include "include/finclude/includefile.h",
где includefile.h может быть следующим:
petsc.h – содержит основные процедуры PETSc;
petscvec.h – содержит процедуры для работы с векторами;
petscmat.h содержит процедуры для работы с матрицами;
petscpc.h доступные предобуславливатели;
petscksp.h методы подпространств Крылова;
petscsys.h содержит системные процедуры PETSc (процедура
для работы со случайными числами);
petscviewer.h содержит параметры и процедуры для просмотра
данных.
Необходимо явно перечислить каждый из включенных заголо-
вочных файлов. Оператор #include должен начинаться с первой по-
зиции строки в тексте программы. Этот подход реализуется с ис-
пользованием CPP препроцессора. (Знакомство с CPP препроцессо-
ром не нужно для написания PETSc-Fortran-программ.)
PETSc-программа начинается с обращения к процедуре
PETSCINITIALIZE для инициализации себя и MPI. Процедура
PETSCINITIALIZE автоматически вызывает процедуру MPI_INIT,
если она не была прежде инициализирована. В определенных об-
стоятельствах, когда нужно инициализировать MPI напрямую, сна-
чала вызывается MPI_INIT и затем выполняется обращение к
PETSCINITIALIZE. По умолчанию процедура PETSCINITIALIZE
добавляет к MPI_COMM_WORLD коммуникатор с фиксированным
именем PETSC_COMM_WORLD. В большинстве случаев пользова-
телю достаточно коммуникатора PETSC_COMM_WORLD, чтобы
указать все процессы в данном выполнении, а коммуникатор
PETSC_COMM_SELF указывает на одиночный процесс.
Все PETSc-программы должны вызывать процедуру
PETSCFINALIZE как последний вызов из PETSc-библиотеки.