xref: /petsc/src/benchmarks/PetscVecNorm.c (revision 4fcfa8495b7f017f484f003341a0867cb9f9d97c)
1*4fcfa849SBarry Smith #ifndef lint
2*4fcfa849SBarry Smith static char vcid[] = "$Id: PetscMemcpy.c,v 1.7 1997/03/09 18:00:35 bsmith Exp $";
3*4fcfa849SBarry Smith #endif
4*4fcfa849SBarry Smith 
5*4fcfa849SBarry Smith #include "stdio.h"
6*4fcfa849SBarry Smith #include "petsc.h"
7*4fcfa849SBarry Smith 
8*4fcfa849SBarry Smith int main( int argc, char **argv)
9*4fcfa849SBarry Smith {
10*4fcfa849SBarry Smith   PLogDouble x, y, z;
11*4fcfa849SBarry Smith   int        i;
12*4fcfa849SBarry Smith   Scalar     A[10000], B[10000];
13*4fcfa849SBarry Smith 
14*4fcfa849SBarry Smith   PetscInitialize(&argc, &argv,0,0);
15*4fcfa849SBarry Smith   for (i=0; i<10000; i++) {
16*4fcfa849SBarry Smith     A[i] = i%61897;
17*4fcfa849SBarry Smith     B[i] = i%61897;
18*4fcfa849SBarry Smith   }
19*4fcfa849SBarry Smith   /* To take care of paging effects */
20*4fcfa849SBarry Smith   PetscMemcpy(A,B,sizeof(Scalar)*0);
21*4fcfa849SBarry Smith   x = PetscGetTime();
22*4fcfa849SBarry Smith 
23*4fcfa849SBarry Smith   x = PetscGetTime();
24*4fcfa849SBarry Smith   PetscMemcpy(A,B,sizeof(Scalar)*10000);
25*4fcfa849SBarry Smith   PetscMemcpy(A,B,sizeof(Scalar)*10000);
26*4fcfa849SBarry Smith   PetscMemcpy(A,B,sizeof(Scalar)*10000);
27*4fcfa849SBarry Smith   PetscMemcpy(A,B,sizeof(Scalar)*10000);
28*4fcfa849SBarry Smith   PetscMemcpy(A,B,sizeof(Scalar)*10000);
29*4fcfa849SBarry Smith   PetscMemcpy(A,B,sizeof(Scalar)*10000);
30*4fcfa849SBarry Smith   PetscMemcpy(A,B,sizeof(Scalar)*10000);
31*4fcfa849SBarry Smith   PetscMemcpy(A,B,sizeof(Scalar)*10000);
32*4fcfa849SBarry Smith   PetscMemcpy(A,B,sizeof(Scalar)*10000);
33*4fcfa849SBarry Smith   PetscMemcpy(A,B,sizeof(Scalar)*10000);
34*4fcfa849SBarry Smith   y = PetscGetTime();
35*4fcfa849SBarry Smith   PetscMemcpy(A,B,sizeof(Scalar)*0);
36*4fcfa849SBarry Smith   PetscMemcpy(A,B,sizeof(Scalar)*0);
37*4fcfa849SBarry Smith   PetscMemcpy(A,B,sizeof(Scalar)*0);
38*4fcfa849SBarry Smith   PetscMemcpy(A,B,sizeof(Scalar)*0);
39*4fcfa849SBarry Smith   PetscMemcpy(A,B,sizeof(Scalar)*0);
40*4fcfa849SBarry Smith   PetscMemcpy(A,B,sizeof(Scalar)*0);
41*4fcfa849SBarry Smith   PetscMemcpy(A,B,sizeof(Scalar)*0);
42*4fcfa849SBarry Smith   PetscMemcpy(A,B,sizeof(Scalar)*0);
43*4fcfa849SBarry Smith   PetscMemcpy(A,B,sizeof(Scalar)*0);
44*4fcfa849SBarry Smith   PetscMemcpy(A,B,sizeof(Scalar)*0);
45*4fcfa849SBarry Smith   z = PetscGetTime();
46*4fcfa849SBarry Smith 
47*4fcfa849SBarry Smith   fprintf(stderr,"%s : \n","PetscMemcpy");
48*4fcfa849SBarry Smith   fprintf(stderr,"    %-11s : %e sec\n","Latency",(z-y)/10.0);
49*4fcfa849SBarry Smith   fprintf(stderr,"    %-11s : %e sec\n","Per Scalar",(2*y-x-z)/100000.0);
50*4fcfa849SBarry Smith 
51*4fcfa849SBarry Smith   PetscFinalize();
52*4fcfa849SBarry Smith   return 0;
53*4fcfa849SBarry Smith }
54