int main(int argc, char *argv[]) { Node root; double t1, t2; lace_parseParams(&argc, argv); uts_parseParams(argc, argv); uts_printParams(); uts_initRoot(&root, type); lace_init(_lace_workers, _lace_dqsize); lace_startup(32*1024*1024, 0, 0); printf("Initialized Lace with %d workers, dqsize=%d\n", _lace_workers, _lace_dqsize); LACE_ME; t1 = uts_wctime(); Result r = CALL(parTreeSearch, 0, &root); t2 = uts_wctime(); maxTreeDepth = r.maxdepth; nNodes = r.size; nLeaves = r.leaves; uts_showStats(GET_NUM_THREADS, 0, t2-t1, nNodes, nLeaves, maxTreeDepth); printf("Time: %f\n", t2-t1); lace_exit(); return 0; }
int main(int argc, char **argv) { int workers = 1; int dqsize = 100000; char c; while ((c=getopt(argc, argv, "w:q:h")) != -1) { switch (c) { case 'w': workers = atoi(optarg); break; case 'q': dqsize = atoi(optarg); break; case 'h': usage(argv[0]); break; default: abort(); } } if (optind == argc) { usage(argv[0]); exit(1); } lace_init(workers, dqsize); lace_startup(0, 0, 0); LACE_ME; int n = atoi(argv[optind]); double t1 = wctime(); int m = CALL(pfib, n); double t2 = wctime(); printf("fib(%d) = %d\n", n, m); printf("Time: %f\n", t2-t1); lace_exit(); return 0; }
int main(int argc, char *argv[]) { int workers = 1; int dqsize = 100000; int verify = 0; char c; while ((c=getopt(argc, argv, "w:q:h:c")) != -1) { switch (c) { case 'w': workers = atoi(optarg); break; case 'q': dqsize = atoi(optarg); break; case 'c': verify = 1; break; case 'h': usage(argv[0]); break; default: abort(); } } if (optind == argc) { usage(argv[0]); exit(1); } int n = atoi(argv[optind]); lace_init(workers, dqsize); lace_startup(0, 0, 0); REAL *A, *B, *C1, *C2; if ((n & (n - 1)) != 0 || (n % 16) != 0) { printf("%d: matrix size must be a power of 2" " and a multiple of %d\n", n, 16); return 1; } A = alloc_matrix(n); B = alloc_matrix(n); C1 = alloc_matrix(n); C2 = alloc_matrix(n); init_matrix(n, A, n); init_matrix(n, B, n); LACE_ME; double t1=wctime(); CALL(OptimizedStrassenMultiply, C2, A, B, n, n, n, n); double t2=wctime(); if (verify) { matrixmul(n, A, n, B, n, C1, n); verify = compare_matrix(n, C1, n, C2, n); } if (verify) printf("WRONG RESULT!\n"); else { printf("Time: %f\n", t2-t1); } lace_exit(); return 0; }