ctest204.c 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <sys/time.h>
  4. void kernel_cpu(float *B0,float *B1,int N){
  5. for(int i=0;i<N;i++){
  6. B0[i] = B1[i]/B1[i];
  7. }
  8. }
  9. int main(int argc,char **argv) {
  10. int size=329699;
  11. int intBytes = size*sizeof(int);
  12. int floatBytes = size*sizeof(float);
  13. float *B0;
  14. B0 = (float *)malloc(floatBytes);
  15. float *B1;
  16. B1 = (float *)malloc(floatBytes);
  17. for(int i=0;i<329699;i++){
  18. B0[i] = 24.4961868528+i+1;
  19. B1[i] = 51.7754499063+i+1;
  20. }
  21. struct timeval time0,time1;
  22. gettimeofday(&time0,NULL);
  23. FILE *file_for_block_of_interest = fopen("./profile_in_block.txt","w");
  24. if(file_for_block_of_interest) {
  25. char Buf[2] = "1";
  26. fwrite(Buf, 1, 1, file_for_block_of_interest);
  27. fclose(file_for_block_of_interest);}
  28. kernel_cpu(B0,B1,329699);
  29. file_for_block_of_interest = fopen("./profile_in_block.txt","w");
  30. if(file_for_block_of_interest) {
  31. char Buf[2] = "0";
  32. fwrite(Buf, 1, 1, file_for_block_of_interest);
  33. fclose(file_for_block_of_interest);}
  34. gettimeofday(&time1,NULL);
  35. double totaltime10 = (time1.tv_sec*1000000.0 + time1.tv_usec) - (time0.tv_sec*1000000.0 + time0.tv_usec);
  36. fprintf(stderr, "CPU time: %lf msecs ", (totaltime10)/1000.0F);
  37. free(B0);
  38. free(B1);
  39. printf("\n");return 0; }