1 2 #include <petscvec.h> 3 4 #undef __FUNCT__ 5 #define __FUNCT__ "main" 6 int main(int argc,char **argv) 7 { 8 Vec x; 9 PetscReal norm; 10 PetscLogDouble t1,t2; 11 int ierr,n = 10000; 12 13 PetscInitialize(&argc,&argv,0,0); 14 ierr = PetscOptionsGetInt(NULL,"-n",&n,NULL);CHKERRQ(ierr); 15 16 ierr = VecCreate(PETSC_COMM_SELF,&x);CHKERRQ(ierr); 17 ierr = VecSetSizes(x,n,n);CHKERRQ(ierr); 18 ierr = VecSetFromOptions(x);CHKERRQ(ierr); 19 20 PetscPreLoadBegin(PETSC_TRUE,"VecNorm"); 21 ierr = PetscGetTime(&t1);CHKERRQ(ierr); 22 ierr = VecNorm(x,NORM_2,&norm);CHKERRQ(ierr); 23 ierr = VecNorm(x,NORM_2,&norm);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 PetscPreLoadEnd(); 33 ierr = PetscGetTime(&t2);CHKERRQ(ierr); 34 35 36 fprintf(stdout,"%s : \n","VecNorm"); 37 fprintf(stdout," Time %g\n",t2-t1); 38 39 ierr = PetscFinalize(); 40 PetscFunctionReturn(0); 41 } 42