xref: /petsc/src/benchmarks/PetscVecNorm.c (revision abdd934af67c1cc360c4d0cfcf2de16e188d627e)
1c6db04a5SJed Brown #include <petscvec.h>
28563dfccSBarry Smith #include <petsctime.h>
34fcfa849SBarry Smith 
main(int argc,char ** argv)44fcfa849SBarry Smith int main(int argc, char **argv)
54fcfa849SBarry Smith {
6832676f5SBarry Smith   Vec            x;
75fb5fb77SSatish Balay   PetscReal      norm;
8b0a32e0cSBarry Smith   PetscLogDouble t1, t2;
9a438ae71SBarry Smith   PetscInt       n = 10000;
104fcfa849SBarry Smith 
11*9566063dSJacob Faibussowitsch   PetscCall(PetscInitialize(&argc, &argv, 0, 0));
12*9566063dSJacob Faibussowitsch   PetscCall(PetscOptionsGetInt(NULL, NULL, "-n", &n, NULL));
134fcfa849SBarry Smith 
14*9566063dSJacob Faibussowitsch   PetscCall(VecCreate(PETSC_COMM_SELF, &x));
15*9566063dSJacob Faibussowitsch   PetscCall(VecSetSizes(x, n, n));
16*9566063dSJacob Faibussowitsch   PetscCall(VecSetFromOptions(x));
17832676f5SBarry Smith 
18204a6943SJed Brown   PetscPreLoadBegin(PETSC_TRUE, "VecNorm");
19*9566063dSJacob Faibussowitsch   PetscCall(PetscTime(&t1));
20*9566063dSJacob Faibussowitsch   PetscCall(VecNorm(x, NORM_2, &norm));
21*9566063dSJacob Faibussowitsch   PetscCall(VecNorm(x, NORM_2, &norm));
22*9566063dSJacob Faibussowitsch   PetscCall(VecNorm(x, NORM_2, &norm));
23*9566063dSJacob Faibussowitsch   PetscCall(VecNorm(x, NORM_2, &norm));
24*9566063dSJacob Faibussowitsch   PetscCall(VecNorm(x, NORM_2, &norm));
25*9566063dSJacob Faibussowitsch   PetscCall(VecNorm(x, NORM_2, &norm));
26*9566063dSJacob Faibussowitsch   PetscCall(VecNorm(x, NORM_2, &norm));
27*9566063dSJacob Faibussowitsch   PetscCall(VecNorm(x, NORM_2, &norm));
28*9566063dSJacob Faibussowitsch   PetscCall(VecNorm(x, NORM_2, &norm));
29*9566063dSJacob Faibussowitsch   PetscCall(VecNorm(x, NORM_2, &norm));
30204a6943SJed Brown   PetscPreLoadEnd();
31*9566063dSJacob Faibussowitsch   PetscCall(PetscTime(&t2));
325fb5fb77SSatish Balay   fprintf(stdout, "%s : \n", "VecNorm");
33b4d8b9abSSatish Balay   fprintf(stdout, " Time %g\n", t2 - t1);
34*9566063dSJacob Faibussowitsch   PetscCall(PetscFinalize());
35b122ec5aSJacob Faibussowitsch   return 0;
364fcfa849SBarry Smith }
37