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