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 PetscErrorCode ierr; 13 PetscInt n = 10000; 14 15 ierr = PetscInitialize(&argc,&argv,0,0);if (ierr) return ierr; 16 ierr = PetscOptionsGetInt(NULL,NULL,"-n",&n,NULL);CHKERRQ(ierr); 17 18 ierr = VecCreate(PETSC_COMM_SELF,&x);CHKERRQ(ierr); 19 ierr = VecSetSizes(x,n,n);CHKERRQ(ierr); 20 ierr = VecSetFromOptions(x);CHKERRQ(ierr); 21 22 PetscPreLoadBegin(PETSC_TRUE,"VecNorm"); 23 ierr = PetscTime(&t1);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 ierr = VecNorm(x,NORM_2,&norm);CHKERRQ(ierr); 34 PetscPreLoadEnd(); 35 ierr = PetscTime(&t2);CHKERRQ(ierr); 36 fprintf(stdout,"%s : \n","VecNorm"); 37 fprintf(stdout," Time %g\n",t2-t1); 38 ierr = PetscFinalize(); 39 return ierr; 40 } 41