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 ierr = PetscOptionsGetInt(NULL,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 = PetscTime(&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 = PetscTime(&t2);CHKERRQ(ierr); 34 fprintf(stdout,"%s : \n","VecNorm"); 35 fprintf(stdout," Time %g\n",t2-t1); 36 ierr = PetscFinalize(); 37 return ierr; 38 } 39