Архив документации OpenNet.ru /
Раздел "Программирование в Linux" /
Индекс
Next: Вызовы PetscMalloc()
Up: Эффективное распределение памяти
Previous: Сборка разреженных матриц
Contents
При символической факторизации матрицы AIJ PETSc должен
вычислить плотность заполнения. Осторожное использование
параметра заполнения в структуре MatILUInfo при вызове
MatLUFactorSymbolic () или MatILUFactorSymbolic ()
может существенно уменьшить количество требуемых операций распределения
и копирования и, таким образом, существенно увеличить производительность
факторизации. Одним из способов определения подходящего значения для
f является запуск программы с опцией -log_info.
Фаза символической факторизации выведет при этом информацию вида
-
- Info:MatILUFactorSymbolic AIJ:Realloc 12
Fill ratio:given 1 needed 2.16423
Это означает, что пользователь должен применять оценку фактора
заполнения около 2.17 (вместо 1), чтобы избежать 12 требуемых распределений
и копирований. Опция командной строки -pc_ilu_fill 2.17
вынудит PETSc предварительно распределить нужное количество памяти
для неполной (ILU) факторизации. Опцией для прямой
(LU) факторизации является -pc_lu_fill
<fill_amount\trl{>}.
2004-06-22
Архив документации на OpenNet.ru