next up previous contents
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