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 PetscInt n = 10000; 11 12 PetscCall(PetscInitialize(&argc,&argv,0,0)); 13 PetscCall(PetscOptionsGetInt(NULL,NULL,"-n",&n,NULL)); 14 15 PetscCall(VecCreate(PETSC_COMM_SELF,&x)); 16 PetscCall(VecSetSizes(x,n,n)); 17 PetscCall(VecSetFromOptions(x)); 18 19 PetscPreLoadBegin(PETSC_TRUE,"VecNorm"); 20 PetscCall(PetscTime(&t1)); 21 PetscCall(VecNorm(x,NORM_2,&norm)); 22 PetscCall(VecNorm(x,NORM_2,&norm)); 23 PetscCall(VecNorm(x,NORM_2,&norm)); 24 PetscCall(VecNorm(x,NORM_2,&norm)); 25 PetscCall(VecNorm(x,NORM_2,&norm)); 26 PetscCall(VecNorm(x,NORM_2,&norm)); 27 PetscCall(VecNorm(x,NORM_2,&norm)); 28 PetscCall(VecNorm(x,NORM_2,&norm)); 29 PetscCall(VecNorm(x,NORM_2,&norm)); 30 PetscCall(VecNorm(x,NORM_2,&norm)); 31 PetscPreLoadEnd(); 32 PetscCall(PetscTime(&t2)); 33 fprintf(stdout,"%s : \n","VecNorm"); 34 fprintf(stdout," Time %g\n",t2-t1); 35 PetscCall(PetscFinalize()); 36 return 0; 37 } 38