1d8e9fea7SSatish Balay 2c6db04a5SJed Brown #include <petscsys.h> 38563dfccSBarry Smith #include <petsctime.h> 4b0878937SSatish Balay 5b0878937SSatish Balay int main(int argc,char **argv) 6b0878937SSatish Balay { 7580bdb30SBarry Smith PetscLogDouble x,y; 8ea709b57SSatish Balay PetscScalar *A,*B; 9b0878937SSatish Balay 10*b122ec5aSJacob Faibussowitsch CHKERRQ(PetscInitialize(&argc,&argv,0,0)); 115f80ce2aSJacob Faibussowitsch CHKERRQ(PetscCalloc1(8000000,&A)); 125f80ce2aSJacob Faibussowitsch CHKERRQ(PetscMalloc1(8000000,&B)); 13e24b481bSBarry Smith 14e24b481bSBarry Smith for (i=0; i<8000000; i++) { 15b0878937SSatish Balay A[i] = i%61897; 16b0878937SSatish Balay B[i] = i%61897; 17b0878937SSatish Balay } 18b0878937SSatish Balay /* To take care of paging effects */ 195f80ce2aSJacob Faibussowitsch CHKERRQ(PetscArraycpy(A,B,8000000)); 205f80ce2aSJacob Faibussowitsch CHKERRQ(PetscTime(&x)); 215f80ce2aSJacob Faibussowitsch CHKERRQ(PetscArraycpy(A,B,8000000)); 225f80ce2aSJacob Faibussowitsch CHKERRQ(PetscTime(&x)); 23b0878937SSatish Balay 2435d8aa7fSBarry Smith fprintf(stdout,"%s : \n","PetscMemcpy"); 25b4d8b9abSSatish Balay fprintf(stdout," %-15s : %e MB/s\n","Bandwidth",10.0*8*8/(y-x)); 26b0878937SSatish Balay 275f80ce2aSJacob Faibussowitsch CHKERRQ(PetscFree(A)); 285f80ce2aSJacob Faibussowitsch CHKERRQ(PetscFree(B)); 29*b122ec5aSJacob Faibussowitsch CHKERRQ(PetscFinalize()); 30*b122ec5aSJacob Faibussowitsch return 0; 31b0878937SSatish Balay } 32