1d8e9fea7SSatish Balay 2c6db04a5SJed Brown #include <petscsys.h> 38563dfccSBarry Smith #include <petsctime.h> 4b0878937SSatish Balay 5b0878937SSatish Balay int main(int argc,char **argv) 6b0878937SSatish Balay { 7*580bdb30SBarry Smith PetscLogDouble x,y; 8a438ae71SBarry Smith PetscErrorCode ierr; 9ea709b57SSatish Balay PetscScalar *A,*B; 10b0878937SSatish Balay 11a438ae71SBarry Smith ierr = PetscInitialize(&argc,&argv,0,0);if (ierr) return ierr; 12*580bdb30SBarry Smith ierr = PetscCalloc1(8000000,&A);CHKERRQ(ierr); 13785e854fSJed Brown ierr = PetscMalloc1(8000000,&B);CHKERRQ(ierr); 14e24b481bSBarry Smith 15e24b481bSBarry Smith for (i=0; i<8000000; i++) { 16b0878937SSatish Balay A[i] = i%61897; 17b0878937SSatish Balay B[i] = i%61897; 18b0878937SSatish Balay } 19b0878937SSatish Balay /* To take care of paging effects */ 20*580bdb30SBarry Smith ierr = PetscArraycpy(A,B,8000000);CHKERRQ(ierr); 218563dfccSBarry Smith ierr = PetscTime(&x);CHKERRQ(ierr); 22*580bdb30SBarry Smith ierr = PetscArraycpy(A,B,8000000);CHKERRQ(ierr); 238563dfccSBarry Smith ierr = PetscTime(&x);CHKERRQ(ierr); 24b0878937SSatish Balay 2535d8aa7fSBarry Smith fprintf(stdout,"%s : \n","PetscMemcpy"); 26b4d8b9abSSatish Balay fprintf(stdout," %-15s : %e MB/s\n","Bandwidth",10.0*8*8/(y-x)); 27b0878937SSatish Balay 28b4d8b9abSSatish Balay ierr = PetscFree(A);CHKERRQ(ierr); 29b4d8b9abSSatish Balay ierr = PetscFree(B);CHKERRQ(ierr); 30f3fe499bSBarry Smith ierr = PetscFinalize(); 3126f47effSBarry Smith return ierr; 32b0878937SSatish Balay } 33