1 2 #include <petscvec.h> 3 #include <petsctime.h> 4 5 int main(int argc,char **argv) 6 { 7 Vec x; 8 PetscReal norm; 9 PetscLogDouble t1,t2; 10 PetscErrorCode ierr; 11 PetscInt n = 10000; 12 13 ierr = PetscInitialize(&argc,&argv,0,0);if (ierr) return ierr; 14 CHKERRQ(PetscOptionsGetInt(NULL,NULL,"-n",&n,NULL)); 15 16 CHKERRQ(VecCreate(PETSC_COMM_SELF,&x)); 17 CHKERRQ(VecSetSizes(x,n,n)); 18 CHKERRQ(VecSetFromOptions(x)); 19 20 PetscPreLoadBegin(PETSC_TRUE,"VecNorm"); 21 CHKERRQ(PetscTime(&t1)); 22 CHKERRQ(VecNorm(x,NORM_2,&norm)); 23 CHKERRQ(VecNorm(x,NORM_2,&norm)); 24 CHKERRQ(VecNorm(x,NORM_2,&norm)); 25 CHKERRQ(VecNorm(x,NORM_2,&norm)); 26 CHKERRQ(VecNorm(x,NORM_2,&norm)); 27 CHKERRQ(VecNorm(x,NORM_2,&norm)); 28 CHKERRQ(VecNorm(x,NORM_2,&norm)); 29 CHKERRQ(VecNorm(x,NORM_2,&norm)); 30 CHKERRQ(VecNorm(x,NORM_2,&norm)); 31 CHKERRQ(VecNorm(x,NORM_2,&norm)); 32 PetscPreLoadEnd(); 33 CHKERRQ(PetscTime(&t2)); 34 fprintf(stdout,"%s : \n","VecNorm"); 35 fprintf(stdout," Time %g\n",t2-t1); 36 ierr = PetscFinalize(); 37 return ierr; 38 } 39