int main() { printf("A1 CPE = %.2f\n", find_cpe(t1, SIZE)); printf("A2 CPE = %.2f\n", find_cpe(t2, SIZE)); printf("A3 CPE = %.2f\n", find_cpe(t3, SIZE)); printf("A4 CPE = %.2f\n", find_cpe(t4, SIZE)); printf("A5 CPE = %.2f\n", find_cpe(t5, SIZE)); return 0; }
/* Perform test of combination function */ static void run_test(int bench_index) { double cpe; char *description = benchmarks[bench_index].description; data_t good_result; current_benchmark = bench_index; setup(); #if 0 cpe = find_cpe(run, ASIZE); #endif #if USE_UNI cpe = find_cpe_full(run, ASIZE, 12, stdout, UNI_SAMPLE, 0.3, 0); #else /* USE_UNI */ cpe = find_cpe_full(run, ASIZE, 200, stdout, RAN_SAMPLE, 0.3, 0); #endif benchmarks[bench_index].cfunct(data, data, &combine_result); benchmarks[bench_index].checkfunct(data, data, &good_result); if (combine_result != good_result) { printf("Function %s, Should be %d, Got %d\n", description, (int) good_result, (int) combine_result); } benchmarks[current_benchmark].cpe = cpe; /* print results */ /* Column Heading */ printf("%s %s %s:\n", DATA_NAME, OP_NAME, description); printf("%.2f cycles/element\n", cpe); }
static void run_test(int i) { double cpe; printf("Description: %s, ", test_descr[i]); idx = i; cpe = find_cpe(test, ASIZE); /* print results */ printf("CPE = %.2f\n", cpe); ftest(i); }
static void run_test2(long i, long c) { double cpe; long len = ASIZE; mylink(len); printf("Description: %s, %s, ", test2_descr[i], case2_descr[c]); myindex = i; cpe = find_cpe(case_fun[c], ASIZE); /* print results */ printf("CPE = %.2f\n", cpe); }
/* Perform test of one of the list functions */ static void run_test(long i) { double cpe; long len = ASIZE; mylink(len); printf("Description: %s, f(%ld) = %ld, ", test_descr[i], len, test_fun[i](main_list)); myindex = i; cpe = find_cpe(test, ASIZE); /* print results */ printf("CPE = %.2f\n", cpe); }
int main(int argc, char *argv[]) { elem_fun_t f = tpsum1; int cnt = 1024; int i; int samples = 8; double bias = 0.0; int reps = 1; int seed = 31415; int verbose = 2; sample_t smethod = UNI_SAMPLE; for (i = 1; i < argc; i++) { if (*argv[i] == '-') switch(argv[i][1]) { case 'u': f = tpsum2; break; case 'a': f = tpsum1a; break; case 'r': smethod = RAN_SAMPLE; break; case 'q': verbose = 0; break; case 'l': i++; if (i >= argc) usage(argv[0]); cnt = atoi(argv[i]); if (cnt <= 0 || cnt > MAXCNT) usage(argv[0]); break; case 'n': i++; if (i >= argc) usage(argv[0]); reps = atoi(argv[i]); if (reps < 0) usage(argv[0]); break; case 'k': i++; if (i >= argc) usage(argv[0]); seed = atoi(argv[i]); break; case 'b': i++; if (i >= argc) usage(argv[0]); bias = atof(argv[i]); if (bias < 0 || bias > 1.0) usage(argv[0]); break; case 's': i++; if (i >= argc) usage(argv[0]); samples = atoi(argv[i]); if (samples <= 0) usage(argv[0]); break; default: usage(argv[0]); break; } } setup(cnt); if (f != tpsum1) check(f, cnt); if (samples == 1) { double t = measure_function(f, cnt); printf("Cycles = %.2f, CPE = %.2f\n", t, t/cnt); } else { double cpe_full, cpe_def; while (reps--) { srandom(seed); cpe_full = find_cpe_full(f, cnt, samples, stdout, smethod, bias, verbose); printf("Full cpe = %.2f\n", cpe_full); } cpe_def = find_cpe(f, cnt); printf("Default cpe = %.2f\n", cpe_def); } return 0; }