xref: /petsc/src/benchmarks/PetscVecNorm.c (revision b5758dff40dc4232f7fa9713b5481f7e0e0d5d24)
1 /*$Id: PetscVecNorm.c,v 1.13 2001/01/17 22:28:38 bsmith Exp balay $*/
2 
3 #include "petscvec.h"
4 
5 #undef __FUNC__
6 #define __FUNC__ "main"
7 int main(int argc,char **argv)
8 {
9   Vec        x;
10   double     norm;
11   PetscLogDouble t1,t2;
12   int        ierr,n = 10000;
13 
14   PetscInitialize(&argc,&argv,0,0);
15   ierr = PetscOptionsGetInt(PETSC_NULL,"-n",&n,PETSC_NULL);CHKERRQ(ierr);
16 
17   ierr = VecCreateSeq(PETSC_COMM_SELF,n,&x);CHKERRQ(ierr);
18 
19   /* To take care of paging effects */
20   ierr = PetscGetTime(&t1);CHKERRQ(ierr);
21   ierr = VecNorm(x,NORM_2,&norm);CHKERRQ(ierr);
22 
23   ierr = PetscGetTime(&t1);CHKERRQ(ierr);
24   ierr = VecNorm(x,NORM_2,&norm);CHKERRQ(ierr);
25   ierr = VecNorm(x,NORM_2,&norm);CHKERRQ(ierr);
26   ierr = VecNorm(x,NORM_2,&norm);CHKERRQ(ierr);
27   ierr = VecNorm(x,NORM_2,&norm);CHKERRQ(ierr);
28   ierr = VecNorm(x,NORM_2,&norm);CHKERRQ(ierr);
29   ierr = VecNorm(x,NORM_2,&norm);CHKERRQ(ierr);
30   ierr = VecNorm(x,NORM_2,&norm);CHKERRQ(ierr);
31   ierr = VecNorm(x,NORM_2,&norm);CHKERRQ(ierr);
32   ierr = VecNorm(x,NORM_2,&norm);CHKERRQ(ierr);
33   ierr = VecNorm(x,NORM_2,&norm);CHKERRQ(ierr);
34   ierr = PetscGetTime(&t2);CHKERRQ(ierr);
35   ierr = VecNorm(x,NORM_2,&norm);CHKERRQ(ierr);
36 
37   fprintf(stderr,"%s : \n","PetscMemcpy");
38   fprintf(stderr," Time %g\n",t2-t1);
39 
40   ierr = PetscFinalize();CHKERRQ(ierr);
41   PetscFunctionReturn(0);
42 }
43