petsc-3.14.5 2021-03-03
VecNormAvailable
Returns the vector norm if it is already known.
Synopsis
#include "petscvec.h"
PetscErrorCode VecNormAvailable(Vec x,NormType type,PetscBool *available,PetscReal *val)
Not Collective
Input Parameters
Output Parameter
| available | - PETSC_TRUE if the val returned is valid
|
| val | - the norm
|
Notes
NORM_1 denotes sum_i |x_i|
NORM_2 denotes sqrt(sum_i (x_i)^2)
NORM_INFINITY denotes max_i |x_i|
Performance Issues
per-processor memory bandwidth
interprocessor latency
work load inbalance that causes certain processes to arrive much earlier than others
Compile Option
PETSC_HAVE_SLOW_BLAS_NORM2 will cause a C (loop unrolled) version of the norm to be used, rather
than the BLAS. This should probably only be used when one is using the FORTRAN BLAS routines
(as opposed to vendor provided) because the FORTRAN BLAS NRM2() routine is very slow.
See Also
VecDot(), VecTDot(), VecNorm(), VecDotBegin(), VecDotEnd(), VecNorm()
VecNormBegin(), VecNormEnd()
Level
intermediate
Location
src/vec/vec/interface/rvector.c
Index of all Vec routines
Table of Contents for all manual pages
Index of all manual pages