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