From f21f8ed249030032f4b0a99c0fcd7e210ddb2e1b Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Sat, 10 Jul 2021 21:06:31 +0200 Subject: Add more documentation and clean up benchmarks --- benchmarks/polybench-syn/common.mk | 26 ++++ benchmarks/polybench-syn/data-mining/Makefile | 3 + .../polybench-syn/linear-algebra/blas/Makefile | 3 + .../linear-algebra/blas/trmm.preproc.c | 144 --------------------- .../polybench-syn/linear-algebra/kernels/Makefile | 3 + .../polybench-syn/linear-algebra/solvers/Makefile | 3 + benchmarks/polybench-syn/medley/Makefile | 3 + benchmarks/polybench-syn/stencils/Makefile | 6 + benchmarks/polybench-syn/stencils/adi.c | 23 ++-- 9 files changed, 56 insertions(+), 158 deletions(-) create mode 100644 benchmarks/polybench-syn/common.mk create mode 100644 benchmarks/polybench-syn/data-mining/Makefile create mode 100644 benchmarks/polybench-syn/linear-algebra/blas/Makefile delete mode 100644 benchmarks/polybench-syn/linear-algebra/blas/trmm.preproc.c create mode 100644 benchmarks/polybench-syn/linear-algebra/kernels/Makefile create mode 100644 benchmarks/polybench-syn/linear-algebra/solvers/Makefile create mode 100644 benchmarks/polybench-syn/medley/Makefile create mode 100644 benchmarks/polybench-syn/stencils/Makefile (limited to 'benchmarks/polybench-syn') diff --git a/benchmarks/polybench-syn/common.mk b/benchmarks/polybench-syn/common.mk new file mode 100644 index 0000000..6508855 --- /dev/null +++ b/benchmarks/polybench-syn/common.mk @@ -0,0 +1,26 @@ +VERICERT ?= vericert +VERICERT_OPTS ?= -DSYNTHESIS + +IVERILOG ?= iverilog +IVERILOG_OPTS ?= + +%.v: %.c + $(VERICERT) $(VERICERT_OPTS) $< -o $@ + +%.iver: %.v + $(IVERILOG) $(IVERILOG_OPTS) $< -o $@ + +%.gcc: %.c + $(CC) $(CFLAGS) $< -o $@ + +%: %.iver %.gcc + cp $< $@ + +clean: + rm -f *.iver + rm -f *.v + rm -f *.gcc + +.PRECIOUS: %.v +.PHONY: all clean +.SUFFIXES: diff --git a/benchmarks/polybench-syn/data-mining/Makefile b/benchmarks/polybench-syn/data-mining/Makefile new file mode 100644 index 0000000..cbe138d --- /dev/null +++ b/benchmarks/polybench-syn/data-mining/Makefile @@ -0,0 +1,3 @@ +all: covariance + +include ../common.mk diff --git a/benchmarks/polybench-syn/linear-algebra/blas/Makefile b/benchmarks/polybench-syn/linear-algebra/blas/Makefile new file mode 100644 index 0000000..5c6d300 --- /dev/null +++ b/benchmarks/polybench-syn/linear-algebra/blas/Makefile @@ -0,0 +1,3 @@ +all: gemm gemver gesummv symm syr2k syrk trmm + +include ../common.mk diff --git a/benchmarks/polybench-syn/linear-algebra/blas/trmm.preproc.c b/benchmarks/polybench-syn/linear-algebra/blas/trmm.preproc.c deleted file mode 100644 index 9b8edfe..0000000 --- a/benchmarks/polybench-syn/linear-algebra/blas/trmm.preproc.c +++ /dev/null @@ -1,144 +0,0 @@ -/** - * This version is stamped on May 10, 2016 - * - * Contact: - * Louis-Noel Pouchet - * Tomofumi Yuki - * - * Web address: http://polybench.sourceforge.net - */ -/* trmm.c: this file is part of PolyBench/C */ - -#include -#include -#include -#include - -/* Include polybench common header. */ -#include -# 1 "trmm.c" -# 1 "" 1 -# 1 "" 3 -# 362 "" 3 -# 1 "" 1 -# 1 "" 2 -# 1 "trmm.c" 2 -# 1 "utilities/polybench.h" 1 -# 30 "utilities/polybench.h" -# 1 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdlib.h" 1 3 4 -# 31 "utilities/polybench.h" 2 -# 231 "utilities/polybench.h" -extern void* polybench_alloc_data(unsigned long long int n, int elt_size); -extern void polybench_free_data(void* ptr); - - - - -extern void polybench_flush_cache(); -extern void polybench_prepare_instruments(); -# 2 "trmm.c" 2 - - -# 1 "./linear-algebra/blas/trmm/trmm.h" 1 -# 5 "trmm.c" 2 - - - -static -void init_array(int m, int n, - int *alpha, - int A[ 20 + 0][20 + 0], - int B[ 20 + 0][30 + 0]) -{ - int i, j; - - *alpha = 1.5; - for (i = 0; i < m; i++) { - for (j = 0; j < i; j++) { - A[i][j] = (int)((i+j) % m)/m; - } - A[i][i] = 1.0; - for (j = 0; j < n; j++) { - B[i][j] = (int)((n+(i-j)) % n)/n; - } - } - -} - - - - -static -void print_array(int m, int n, - int B[ 20 + 0][30 + 0]) -{ - int i, j; - - fprintf(stderr, "==BEGIN DUMP_ARRAYS==\n"); - fprintf(stderr, "begin dump: %s", "B"); - for (i = 0; i < m; i++) - for (j = 0; j < n; j++) { - if ((i * m + j) % 20 == 0) fprintf (stderr, "\n"); - fprintf (stderr, "%d ", B[i][j]); - } - fprintf(stderr, "\nend dump: %s\n", "B"); - fprintf(stderr, "==END DUMP_ARRAYS==\n"); -} - - - - -static -void kernel_trmm(int m, int n, - int alpha, - int A[ 20 + 0][20 + 0], - int B[ 20 + 0][30 + 0]) -{ - int i, j, k; -# 68 "trmm.c" -#pragma scop - for (i = 0; i < m; i++) - for (j = 0; j < n; j++) { - for (k = i+1; k < m; k++) - B[i][j] += A[k][i] * B[k][j]; - B[i][j] = alpha * B[i][j]; - } -#pragma endscop - -} - - -int main(int argc, char** argv) -{ - - int m = 20; - int n = 30; - - - int alpha; - int (*A)[20 + 0][20 + 0]; A = (int(*)[20 + 0][20 + 0])polybench_alloc_data ((20 + 0) * (20 + 0), sizeof(int));; - int (*B)[20 + 0][30 + 0]; B = (int(*)[20 + 0][30 + 0])polybench_alloc_data ((20 + 0) * (30 + 0), sizeof(int));; - - - init_array (m, n, &alpha, *A, *B); - - - ; - - - kernel_trmm (m, n, alpha, *A, *B); - - - ; - ; - - - - if (argc > 42 && ! strcmp(argv[0], "")) print_array(m, n, *B); - - - free((void*)A);; - free((void*)B);; - - return 0; -} diff --git a/benchmarks/polybench-syn/linear-algebra/kernels/Makefile b/benchmarks/polybench-syn/linear-algebra/kernels/Makefile new file mode 100644 index 0000000..ff59d0f --- /dev/null +++ b/benchmarks/polybench-syn/linear-algebra/kernels/Makefile @@ -0,0 +1,3 @@ +all: 2mm 3mm atas bicg doitgen mvt + +include ../common.mk diff --git a/benchmarks/polybench-syn/linear-algebra/solvers/Makefile b/benchmarks/polybench-syn/linear-algebra/solvers/Makefile new file mode 100644 index 0000000..d466d15 --- /dev/null +++ b/benchmarks/polybench-syn/linear-algebra/solvers/Makefile @@ -0,0 +1,3 @@ +all: cholesky durbin lu ludcmp trisolv + +include ../common.mk diff --git a/benchmarks/polybench-syn/medley/Makefile b/benchmarks/polybench-syn/medley/Makefile new file mode 100644 index 0000000..a64c56d --- /dev/null +++ b/benchmarks/polybench-syn/medley/Makefile @@ -0,0 +1,3 @@ +all: floyd-warshall nussinov + +include ../common.mk diff --git a/benchmarks/polybench-syn/stencils/Makefile b/benchmarks/polybench-syn/stencils/Makefile new file mode 100644 index 0000000..cf23dc6 --- /dev/null +++ b/benchmarks/polybench-syn/stencils/Makefile @@ -0,0 +1,6 @@ +all: adi fdtd-2d heat-3d jacobi-1d jacobi-2d seidel-2d + +include ../common.mk + +adi.v: adi.c + $(VERICERT) $(VERICERT_OPTS) -O0 -finline $< -o $@ diff --git a/benchmarks/polybench-syn/stencils/adi.c b/benchmarks/polybench-syn/stencils/adi.c index ec2bf2a..2f4aca3 100644 --- a/benchmarks/polybench-syn/stencils/adi.c +++ b/benchmarks/polybench-syn/stencils/adi.c @@ -15,28 +15,23 @@ #include #endif -#define plus(i) i = i + ONE - static -void init_array (int n, - int u[ 20 + 0][20 + 0]) +void init_array (int n, int u[ 20 + 0][20 + 0]) { int i, j; for (i = 0; i < n; i++) for (j = 0; j < n; j++) - { - u[i][j] = divider((int)(i + n-j) ,n); - } + { + u[i][j] = divider((int)(i + n-j), n); + } } static -int print_array(int n, - int u[ 20 + 0][20 + 0]) - +int print_array(int n, int u[ 20 + 0][20 + 0]) { int i, j; int res = 0; @@ -53,10 +48,10 @@ int print_array(int n, } static void kernel_adi(int tsteps, int n, - int u[ 20 + 0][20 + 0], - int v[ 20 + 0][20 + 0], - int p[ 20 + 0][20 + 0], - int q[ 20 + 0][20 + 0]) + int u[ 20 + 0][20 + 0], + int v[ 20 + 0][20 + 0], + int p[ 20 + 0][20 + 0], + int q[ 20 + 0][20 + 0]) { int t, i, j; int B1, B2; -- cgit From 6797b6b0472e87c1ef5edb84f81a16b73577f754 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Sat, 10 Jul 2021 21:12:37 +0200 Subject: Fix Makefiles slightly --- benchmarks/polybench-syn/common.mk | 7 ++++++- benchmarks/polybench-syn/data-mining/Makefile | 2 +- benchmarks/polybench-syn/linear-algebra/blas/Makefile | 2 +- benchmarks/polybench-syn/linear-algebra/kernels/Makefile | 2 +- benchmarks/polybench-syn/linear-algebra/solvers/Makefile | 2 +- benchmarks/polybench-syn/medley/Makefile | 2 +- benchmarks/polybench-syn/stencils/Makefile | 2 +- 7 files changed, 12 insertions(+), 7 deletions(-) (limited to 'benchmarks/polybench-syn') diff --git a/benchmarks/polybench-syn/common.mk b/benchmarks/polybench-syn/common.mk index 6508855..7e14602 100644 --- a/benchmarks/polybench-syn/common.mk +++ b/benchmarks/polybench-syn/common.mk @@ -4,6 +4,8 @@ VERICERT_OPTS ?= -DSYNTHESIS IVERILOG ?= iverilog IVERILOG_OPTS ?= +TARGETS ?= + %.v: %.c $(VERICERT) $(VERICERT_OPTS) $< -o $@ @@ -16,11 +18,14 @@ IVERILOG_OPTS ?= %: %.iver %.gcc cp $< $@ +all: $(TARGETS) + clean: rm -f *.iver rm -f *.v rm -f *.gcc + rm -f $(TARGETS) -.PRECIOUS: %.v +.PRECIOUS: %.v %.gcc %.iver .PHONY: all clean .SUFFIXES: diff --git a/benchmarks/polybench-syn/data-mining/Makefile b/benchmarks/polybench-syn/data-mining/Makefile index cbe138d..d4817a0 100644 --- a/benchmarks/polybench-syn/data-mining/Makefile +++ b/benchmarks/polybench-syn/data-mining/Makefile @@ -1,3 +1,3 @@ -all: covariance +TARGETS := covariance include ../common.mk diff --git a/benchmarks/polybench-syn/linear-algebra/blas/Makefile b/benchmarks/polybench-syn/linear-algebra/blas/Makefile index 5c6d300..5cd6a49 100644 --- a/benchmarks/polybench-syn/linear-algebra/blas/Makefile +++ b/benchmarks/polybench-syn/linear-algebra/blas/Makefile @@ -1,3 +1,3 @@ -all: gemm gemver gesummv symm syr2k syrk trmm +TARGETS := gemm gemver gesummv symm syr2k syrk trmm include ../common.mk diff --git a/benchmarks/polybench-syn/linear-algebra/kernels/Makefile b/benchmarks/polybench-syn/linear-algebra/kernels/Makefile index ff59d0f..815b9a0 100644 --- a/benchmarks/polybench-syn/linear-algebra/kernels/Makefile +++ b/benchmarks/polybench-syn/linear-algebra/kernels/Makefile @@ -1,3 +1,3 @@ -all: 2mm 3mm atas bicg doitgen mvt +TARGETS := 2mm 3mm atas bicg doitgen mvt include ../common.mk diff --git a/benchmarks/polybench-syn/linear-algebra/solvers/Makefile b/benchmarks/polybench-syn/linear-algebra/solvers/Makefile index d466d15..b396027 100644 --- a/benchmarks/polybench-syn/linear-algebra/solvers/Makefile +++ b/benchmarks/polybench-syn/linear-algebra/solvers/Makefile @@ -1,3 +1,3 @@ -all: cholesky durbin lu ludcmp trisolv +TARGETS := cholesky durbin lu ludcmp trisolv include ../common.mk diff --git a/benchmarks/polybench-syn/medley/Makefile b/benchmarks/polybench-syn/medley/Makefile index a64c56d..816a0ce 100644 --- a/benchmarks/polybench-syn/medley/Makefile +++ b/benchmarks/polybench-syn/medley/Makefile @@ -1,3 +1,3 @@ -all: floyd-warshall nussinov +TARGETS := floyd-warshall nussinov include ../common.mk diff --git a/benchmarks/polybench-syn/stencils/Makefile b/benchmarks/polybench-syn/stencils/Makefile index cf23dc6..d2e1c9b 100644 --- a/benchmarks/polybench-syn/stencils/Makefile +++ b/benchmarks/polybench-syn/stencils/Makefile @@ -1,4 +1,4 @@ -all: adi fdtd-2d heat-3d jacobi-1d jacobi-2d seidel-2d +TARGETS := adi fdtd-2d heat-3d jacobi-1d jacobi-2d seidel-2d include ../common.mk -- cgit From f46b0cd924705dcb4817129bb0504767c2225c20 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Sat, 10 Jul 2021 21:21:06 +0200 Subject: Fix makefiles and add a parent makefile --- benchmarks/polybench-syn/Makefile | 15 +++++++++++++++ benchmarks/polybench-syn/linear-algebra/blas/Makefile | 2 +- benchmarks/polybench-syn/linear-algebra/kernels/Makefile | 2 +- benchmarks/polybench-syn/linear-algebra/solvers/Makefile | 2 +- 4 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 benchmarks/polybench-syn/Makefile (limited to 'benchmarks/polybench-syn') diff --git a/benchmarks/polybench-syn/Makefile b/benchmarks/polybench-syn/Makefile new file mode 100644 index 0000000..2c20246 --- /dev/null +++ b/benchmarks/polybench-syn/Makefile @@ -0,0 +1,15 @@ +all: + $(MAKE) -C stencils + $(MAKE) -C medley + $(MAKE) -C linear-algebra/blas + $(MAKE) -C linear-algebra/kernels + $(MAKE) -C linear-algebra/solvers + $(MAKE) -C data-mining + +clean: + $(MAKE) clean -C stencils + $(MAKE) clean -C medley + $(MAKE) clean -C linear-algebra/blas + $(MAKE) clean -C linear-algebra/kernels + $(MAKE) clean -C linear-algebra/solvers + $(MAKE) clean -C data-mining diff --git a/benchmarks/polybench-syn/linear-algebra/blas/Makefile b/benchmarks/polybench-syn/linear-algebra/blas/Makefile index 5cd6a49..e1f3b58 100644 --- a/benchmarks/polybench-syn/linear-algebra/blas/Makefile +++ b/benchmarks/polybench-syn/linear-algebra/blas/Makefile @@ -1,3 +1,3 @@ TARGETS := gemm gemver gesummv symm syr2k syrk trmm -include ../common.mk +include ../../common.mk diff --git a/benchmarks/polybench-syn/linear-algebra/kernels/Makefile b/benchmarks/polybench-syn/linear-algebra/kernels/Makefile index 815b9a0..4b7f6e1 100644 --- a/benchmarks/polybench-syn/linear-algebra/kernels/Makefile +++ b/benchmarks/polybench-syn/linear-algebra/kernels/Makefile @@ -1,3 +1,3 @@ TARGETS := 2mm 3mm atas bicg doitgen mvt -include ../common.mk +include ../../common.mk diff --git a/benchmarks/polybench-syn/linear-algebra/solvers/Makefile b/benchmarks/polybench-syn/linear-algebra/solvers/Makefile index b396027..146620b 100644 --- a/benchmarks/polybench-syn/linear-algebra/solvers/Makefile +++ b/benchmarks/polybench-syn/linear-algebra/solvers/Makefile @@ -1,3 +1,3 @@ TARGETS := cholesky durbin lu ludcmp trisolv -include ../common.mk +include ../../common.mk -- cgit From c4853aa99ad65d0fa6f014df1f52c62bc2b6fd31 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Sun, 11 Jul 2021 01:34:00 +0200 Subject: Fix some more of the benchmarks --- benchmarks/polybench-syn/common.mk | 4 +++- benchmarks/polybench-syn/run-vericert.sh | 14 ++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) (limited to 'benchmarks/polybench-syn') diff --git a/benchmarks/polybench-syn/common.mk b/benchmarks/polybench-syn/common.mk index 7e14602..fbada0b 100644 --- a/benchmarks/polybench-syn/common.mk +++ b/benchmarks/polybench-syn/common.mk @@ -10,7 +10,7 @@ TARGETS ?= $(VERICERT) $(VERICERT_OPTS) $< -o $@ %.iver: %.v - $(IVERILOG) $(IVERILOG_OPTS) $< -o $@ + $(IVERILOG) -o $@ $(IVERILOG_OPTS) $< %.gcc: %.c $(CC) $(CFLAGS) $< -o $@ @@ -24,6 +24,8 @@ clean: rm -f *.iver rm -f *.v rm -f *.gcc + rm -f *.clog + rm -f *.tmp rm -f $(TARGETS) .PRECIOUS: %.v %.gcc %.iver diff --git a/benchmarks/polybench-syn/run-vericert.sh b/benchmarks/polybench-syn/run-vericert.sh index 2f8097f..6cf4cd9 100755 --- a/benchmarks/polybench-syn/run-vericert.sh +++ b/benchmarks/polybench-syn/run-vericert.sh @@ -1,20 +1,18 @@ -#! /bin/bash +#!/usr/bin/env bash + +rm exec.csv top=$(pwd) #set up while read benchmark ; do echo "Running "$benchmark - clang -Wall -Werror -fsanitize=undefined $benchmark.c -o $benchmark.o - ./$benchmark.o > $benchmark.clog + ./$benchmark.gcc > $benchmark.clog cresult=$(cat $benchmark.clog | cut -d' ' -f2) echo "C output: "$cresult - { time ../../bin/vericert -DSYNTHESIS -finline -fschedule --debug-hls $benchmark.c -o $benchmark.v ; } 2> $benchmark.comp - iverilog -o $benchmark.iver -- $benchmark.v ./$benchmark.iver > $benchmark.tmp veriresult=$(tail -1 $benchmark.tmp | cut -d' ' -f2) cycles=$(tail -2 $benchmark.tmp | head -1 | tr -s ' ' | cut -d' ' -f2) - ctime=$(cat $benchmark.comp | head -2 | tail -1 | xargs | cut -d' ' -f2 | cut -d'm' -f2 | sed 's/s//g') - echo "Veri output: "$veriresult + echo "Verilog output: "$veriresult #Undefined checks if test -z $veriresult @@ -39,5 +37,5 @@ while read benchmark ; do echo "PASS" fi name=$(echo $benchmark | awk -v FS="/" '{print $NF}') - echo $name","$cycles","$ctime >> exec.csv + echo $name","$cycles >> exec.csv done < benchmark-list-master -- cgit From 77f718fea849b389a8fd4c2b1dc2b5d6f7c39508 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Sun, 11 Jul 2021 15:43:06 +0200 Subject: Add legup script --- benchmarks/polybench-syn/run-legup.sh | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 benchmarks/polybench-syn/run-legup.sh (limited to 'benchmarks/polybench-syn') diff --git a/benchmarks/polybench-syn/run-legup.sh b/benchmarks/polybench-syn/run-legup.sh new file mode 100644 index 0000000..8a84e7c --- /dev/null +++ b/benchmarks/polybench-syn/run-legup.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +top=$(pwd) +vericert=/vericert +rm $top/exec_legup.csv +legup_dir=/data/legup-polybench-$1/legup/legup_$2 + +while read benchmark ; do + cd $legup_dir/$benchmark + iverilog -o run -s main_tb $vericert/ip/* legup.v + cycles=$(./run | sed -n 3p | sed -E -e 's/[^0-9]+([0-9]+)/\1/') + echo "$(basename "$benchmark"),$cycles" >>$top/exec_legup.csv +done < benchmark-list-master -- cgit From 3dfc30619a4f3ecf0f262481a0891259c2b37ed1 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Sun, 11 Jul 2021 15:59:12 +0200 Subject: Update the run-legup.sh file --- benchmarks/polybench-syn/run-legup.sh | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'benchmarks/polybench-syn') diff --git a/benchmarks/polybench-syn/run-legup.sh b/benchmarks/polybench-syn/run-legup.sh index 8a84e7c..3b6f60f 100644 --- a/benchmarks/polybench-syn/run-legup.sh +++ b/benchmarks/polybench-syn/run-legup.sh @@ -5,9 +5,13 @@ vericert=/vericert rm $top/exec_legup.csv legup_dir=/data/legup-polybench-$1/legup/legup_$2 +echo benchmark,cycles >$top/exec_legup.csv + while read benchmark ; do + echo -n "compiling $(basename "$benchmark"): " cd $legup_dir/$benchmark iverilog -o run -s main_tb $vericert/ip/* legup.v cycles=$(./run | sed -n 3p | sed -E -e 's/[^0-9]+([0-9]+)/\1/') echo "$(basename "$benchmark"),$cycles" >>$top/exec_legup.csv + echo $cycles cycles done < benchmark-list-master -- cgit From deb0a4f64585c4ec061fe0726e9d9adbc38a2d83 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Mon, 12 Jul 2021 02:02:27 +0200 Subject: Update the artifact description --- benchmarks/polybench-syn/run-legup.sh | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 benchmarks/polybench-syn/run-legup.sh (limited to 'benchmarks/polybench-syn') diff --git a/benchmarks/polybench-syn/run-legup.sh b/benchmarks/polybench-syn/run-legup.sh deleted file mode 100644 index 3b6f60f..0000000 --- a/benchmarks/polybench-syn/run-legup.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash - -top=$(pwd) -vericert=/vericert -rm $top/exec_legup.csv -legup_dir=/data/legup-polybench-$1/legup/legup_$2 - -echo benchmark,cycles >$top/exec_legup.csv - -while read benchmark ; do - echo -n "compiling $(basename "$benchmark"): " - cd $legup_dir/$benchmark - iverilog -o run -s main_tb $vericert/ip/* legup.v - cycles=$(./run | sed -n 3p | sed -E -e 's/[^0-9]+([0-9]+)/\1/') - echo "$(basename "$benchmark"),$cycles" >>$top/exec_legup.csv - echo $cycles cycles -done < benchmark-list-master -- cgit