1c6db04a5SJed Brown #include <petscvec.h> 28563dfccSBarry Smith #include <petsctime.h> 34fcfa849SBarry Smith 44fcfa849SBarry Smith int main(int argc, char **argv) 54fcfa849SBarry Smith { 6832676f5SBarry Smith Vec x; 75fb5fb77SSatish Balay PetscReal norm; 8b0a32e0cSBarry Smith PetscLogDouble t1, t2; 9a438ae71SBarry Smith PetscInt n = 10000; 104fcfa849SBarry Smith 11*9566063dSJacob Faibussowitsch PetscCall(PetscInitialize(&argc, &argv, 0, 0)); 12*9566063dSJacob Faibussowitsch PetscCall(PetscOptionsGetInt(NULL, NULL, "-n", &n, NULL)); 134fcfa849SBarry Smith 14*9566063dSJacob Faibussowitsch PetscCall(VecCreate(PETSC_COMM_SELF, &x)); 15*9566063dSJacob Faibussowitsch PetscCall(VecSetSizes(x, n, n)); 16*9566063dSJacob Faibussowitsch PetscCall(VecSetFromOptions(x)); 17832676f5SBarry Smith 18204a6943SJed Brown PetscPreLoadBegin(PETSC_TRUE, "VecNorm"); 19*9566063dSJacob Faibussowitsch PetscCall(PetscTime(&t1)); 20*9566063dSJacob Faibussowitsch PetscCall(VecNorm(x, NORM_2, &norm)); 21*9566063dSJacob Faibussowitsch PetscCall(VecNorm(x, NORM_2, &norm)); 22*9566063dSJacob Faibussowitsch PetscCall(VecNorm(x, NORM_2, &norm)); 23*9566063dSJacob Faibussowitsch PetscCall(VecNorm(x, NORM_2, &norm)); 24*9566063dSJacob Faibussowitsch PetscCall(VecNorm(x, NORM_2, &norm)); 25*9566063dSJacob Faibussowitsch PetscCall(VecNorm(x, NORM_2, &norm)); 26*9566063dSJacob Faibussowitsch PetscCall(VecNorm(x, NORM_2, &norm)); 27*9566063dSJacob Faibussowitsch PetscCall(VecNorm(x, NORM_2, &norm)); 28*9566063dSJacob Faibussowitsch PetscCall(VecNorm(x, NORM_2, &norm)); 29*9566063dSJacob Faibussowitsch PetscCall(VecNorm(x, NORM_2, &norm)); 30204a6943SJed Brown PetscPreLoadEnd(); 31*9566063dSJacob Faibussowitsch PetscCall(PetscTime(&t2)); 325fb5fb77SSatish Balay fprintf(stdout, "%s : \n", "VecNorm"); 33b4d8b9abSSatish Balay fprintf(stdout, " Time %g\n", t2 - t1); 34*9566063dSJacob Faibussowitsch PetscCall(PetscFinalize()); 35b122ec5aSJacob Faibussowitsch return 0; 364fcfa849SBarry Smith } 37