xref: /petsc/src/benchmarks/PetscVecNorm.c (revision ef66eb6987ddfdf4e414d6b820cbc8d8d7d17bc2)
1 /*$Id: PetscVecNorm.c,v 1.15 2001/03/23 23:25:45 balay Exp balay $*/
2 
3 #include "petscvec.h"
4 
5 #undef __FUNCT__
6 #define __FUNCT__ "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(stdout,"%s : \n","PetscMemcpy");
38   fprintf(stdout," Time %g\n",t2-t1);
39 
40   ierr = PetscFinalize();CHKERRQ(ierr);
41   PetscFunctionReturn(0);
42 }
43