uint64_t testloop3(int stride) { int i, j, warmup = niters; uint64_t start, end, result = 0; for(i = 0; i < niters + warmup; i++) { if(want_cache_flush) { flush_cache(); } start = rdtsc(); /* First access first half of arrays */ for(j=0; j < stride; j++){ runloop(0, narrays / 2, j, nitems, stride); } /* Now second half of arrays */ for(j=0; j < stride; j++){ runloop(narrays / 2, narrays, j, nitems, stride); } end = rdtsc(); if( i >= warmup ) { result += end - start; } } return result; }
int main(int argc, char *argv[]) { double start1,start2,end1,end2; int r; init1(); start1 = omp_get_wtime(); for (r=0; r<reps; r++){ runloop(1); } end1 = omp_get_wtime(); valid1(); printf("Total time for %d reps of loop 1 = %f\n",reps, (float)(end1-start1)); init2(); start2 = omp_get_wtime(); for (r=0; r<reps; r++){ runloop(2); } end2 = omp_get_wtime(); valid2(); printf("Total time for %d reps of loop 2 = %f\n",reps, (float)(end2-start2)); }
int main(int argc, char *argv[]) { loop_time = malloc(omp_get_max_threads()*sizeof(int)); waiting_time = malloc(omp_get_max_threads()*sizeof(int)); int i; for(i=0; i<omp_get_max_threads(); i++) { loop_time[i] = 0; waiting_time[i] = 0; } double start1,start2,end1,end2; int r; init1(); start1 = omp_get_wtime(); for (r=0; r<reps; r++){ runloop(1); } end1 = omp_get_wtime(); valid1(); printf("Total time for %d reps of loop 1 = %f\n",reps, (float)(end1-start1)); printf("#thread\ttime thread spent working\n"); for(i=0;i<omp_get_max_threads(); i++) { printf("\t%d\t%d\t%d\n", i, loop_time[i], waiting_time[i]); loop_time[i] = 0; waiting_time[i] = 0; } init2(); start2 = omp_get_wtime(); for (r=0; r<reps; r++){ runloop(2); } end2 = omp_get_wtime(); valid2(); printf("Total time for %d reps of loop 2 = %f\n",reps, (float)(end2-start2)); printf("#thread\ttime thread spent working\n"); for(i=0;i<omp_get_max_threads(); i++) { printf("\t%d\t%d\t%d\n", i, loop_time[i], waiting_time[i]); } }
static void run(void) { struct timeval starttime, endtime; u_int64_t totcycles; double time; gettimeofday(&starttime, NULL); runloop(); gettimeofday(&endtime, NULL); endtime.tv_sec -= starttime.tv_sec; if (endtime.tv_usec < starttime.tv_usec) { endtime.tv_sec--; endtime.tv_usec += 1000000; } endtime.tv_usec -= starttime.tv_usec; time = endtime.tv_sec + endtime.tv_usec/1000000.0; totcycles = showstats(); msg("Elapsed real time: %llu.%06lu seconds (%g mhz)", (unsigned long long) endtime.tv_sec, (unsigned long) endtime.tv_usec, totcycles/(time*1000000.0)); }
int main() { init_child_list(); // Trap SIGINT. This is a shell, so kill children, not current process. signal(SIGINT, trap_interrupt); signal(SIGCHLD, child_ended); runloop(); return 0; }
int main(int argc, char *argv[]) { double start1,start2,end1,end2; int r; int i; /* Init locks */ for(i=0;i<MAX_PROCS;i++) omp_init_lock(&(remaining_iters_lock[i])); init1(); start1 = omp_get_wtime(); for (r=0; r<reps; r++){ runloop(1); } end1 = omp_get_wtime(); valid1(); printf("Total time for %d reps of loop 1 = %f\n",reps, (float)(end1-start1)); init2(); start2 = omp_get_wtime(); for (r=0; r<reps; r++){ runloop(2); } end2 = omp_get_wtime(); valid2(); printf("Total time for %d reps of loop 2 = %f\n",reps, (float)(end2-start2)); for(i=0;i<MAX_PROCS;i++) omp_destroy_lock(&(remaining_iters_lock[i])); }
uint64_t testloop2() { int i, warmup = niters; uint64_t start, end, result = 0; for(i = 0; i < niters + warmup; i++) { if(want_cache_flush) { flush_cache(); } start = rdtsc(); /* Perform access multiple times */ runloop(0, narrays / 2, 0, nitems, 1); runloop(narrays / 2, narrays, 0, nitems, 1); end = rdtsc(); if( i >= warmup ) { result += end - start; } } return result; }
int main(int argc, char *argv[]){ if (!init(argc, argv)) { std::cerr << "Error occured!" << std::endl; shutdown(); exit( EXIT_FAILURE ); } runloop(); shutdown(); exit( EXIT_SUCCESS ); }
int main(int argc, char** argv) { server_t* server; uint16_t desiredPort; if (argc == 1) desiredPort = 0; else if (argc == 2) { int port = atoi(argv[1]); if (port < 0 || port > UINT16_MAX) { printf("Port is invalid.\n"); return EXIT_FAILURE; } desiredPort = port; } else { printf("%s [port]\n", argv[0]); return EXIT_FAILURE; } printf("Opening server socket...\n"); server = openAndBindServerSocket(desiredPort); if (!server) { perror("Could not open server socket"); return EXIT_FAILURE; } printf("Listing on %d for connections...\n", server->port); server->running = true; while(server->running) runloop(server); return EXIT_SUCCESS; }