From fba0db458f48539b196d1442792726527fc2ab03 Mon Sep 17 00:00:00 2001
From: "nicolas.marie" <nicolas.marie@ensiie.eu>
Date: Thu, 21 Dec 2023 14:15:47 +0100
Subject: [PATCH] add bench

---
 Projet/CODE/apm/bench.sh           |  33 +++++++
 Projet/CODE/apm/bench_out_1050.csv | 145 +++++++++++++++++++++++++++++
 Projet/CODE/apm/src/apm_gpu.cu     |   1 +
 3 files changed, 179 insertions(+)
 create mode 100755 Projet/CODE/apm/bench.sh
 create mode 100644 Projet/CODE/apm/bench_out_1050.csv

diff --git a/Projet/CODE/apm/bench.sh b/Projet/CODE/apm/bench.sh
new file mode 100755
index 0000000..b78e145
--- /dev/null
+++ b/Projet/CODE/apm/bench.sh
@@ -0,0 +1,33 @@
+#!/usr/bin/env bash
+
+
+files=("dna/vicPac2_1.fa" "dna/vicPac2_2.fa" "dna/vicPac2_3.fa")
+matches=("12345" "1234567890" "12345678901234567890")
+runs=("apm" "apm_omp" "apm_gpu")
+timeout=30
+
+echo -n "# test iteration, file_size (o), match_size (o), version," >&2
+echo " time (s) (timeout = ${timeout})" >&2
+
+for i in $(seq 0 5)
+do
+	for f in ${files[@]}
+	do
+		for m in ${matches[@]}
+		do
+			for exe in ${runs[@]}
+			do
+				echo -n "${i}, $(stat -c %s ${f}), ${#m}, ${exe}, "
+				(
+					timeout --foreground ${timeout} ./${exe} 3 ${f} ${m}
+					if [ ${?} -eq 124 ]
+					then
+						echo "timeout"
+					fi
+				) >&1 \
+				| sed -n "s/APM done in \([0-9\.]*\) s\|\(timeout\)/\1\2/p"
+			done
+		done
+	done
+done
+
diff --git a/Projet/CODE/apm/bench_out_1050.csv b/Projet/CODE/apm/bench_out_1050.csv
new file mode 100644
index 0000000..af22ad3
--- /dev/null
+++ b/Projet/CODE/apm/bench_out_1050.csv
@@ -0,0 +1,145 @@
+0, 5099959, 5, apm, 0.250346
+0, 5099959, 5, apm_omp, 0.414117
+0, 5099959, 5, apm_gpu, 0.316237
+0, 5099959, 10, apm, 0.863068
+0, 5099959, 10, apm_omp, 0.936753
+0, 5099959, 10, apm_gpu, 0.420831
+0, 5099959, 20, apm, 3.710998
+0, 5099959, 20, apm_omp, 2.015994
+0, 5099959, 20, apm_gpu, 1.043800
+0, 50999909, 5, apm, 2.254770
+0, 50999909, 5, apm_omp, 3.337286
+0, 50999909, 5, apm_gpu, 0.596879
+0, 50999909, 10, apm, 8.386618
+0, 50999909, 10, apm_omp, 9.566841
+0, 50999909, 10, apm_gpu, 1.479508
+0, 50999909, 20, apm, timeout
+0, 50999909, 20, apm_omp, 21.338525
+0, 50999909, 20, apm_gpu, 0, 509998048, 5, apm, 22.399095
+0, 509998048, 5, apm_omp, timeout
+0, 509998048, 5, apm_gpu, 3.102010
+0, 509998048, 10, apm, timeout
+0, 509998048, 10, apm_omp, timeout
+0, 509998048, 10, apm_gpu, 0, 509998048, 20, apm, timeout
+0, 509998048, 20, apm_omp, timeout
+0, 509998048, 20, apm_gpu, 1, 5099959, 5, apm, 0.259817
+1, 5099959, 5, apm_omp, 0.387164
+1, 5099959, 5, apm_gpu, 0.314268
+1, 5099959, 10, apm, 0.854956
+1, 5099959, 10, apm_omp, 0.987502
+1, 5099959, 10, apm_gpu, 0.430230
+1, 5099959, 20, apm, 3.679278
+1, 5099959, 20, apm_omp, 2.022991
+1, 5099959, 20, apm_gpu, 1.000893
+1, 50999909, 5, apm, 2.294356
+1, 50999909, 5, apm_omp, 3.823519
+1, 50999909, 5, apm_gpu, 0.596351
+1, 50999909, 10, apm, 8.595886
+1, 50999909, 10, apm_omp, 9.203784
+1, 50999909, 10, apm_gpu, 1.482717
+1, 50999909, 20, apm, timeout
+1, 50999909, 20, apm_omp, 20.644195
+1, 50999909, 20, apm_gpu, 1, 509998048, 5, apm, 22.622868
+1, 509998048, 5, apm_omp, timeout
+1, 509998048, 5, apm_gpu, 3.099615
+1, 509998048, 10, apm, timeout
+1, 509998048, 10, apm_omp, timeout
+1, 509998048, 10, apm_gpu, 1, 509998048, 20, apm, timeout
+1, 509998048, 20, apm_omp, timeout
+1, 509998048, 20, apm_gpu, 2, 5099959, 5, apm, 0.230062
+2, 5099959, 5, apm_omp, 0.381789
+2, 5099959, 5, apm_gpu, 0.308694
+2, 5099959, 10, apm, 0.891803
+2, 5099959, 10, apm_omp, 0.961221
+2, 5099959, 10, apm_gpu, 0.422084
+2, 5099959, 20, apm, 3.686286
+2, 5099959, 20, apm_omp, 2.045223
+2, 5099959, 20, apm_gpu, 1.010559
+2, 50999909, 5, apm, 2.241915
+2, 50999909, 5, apm_omp, 3.491416
+2, 50999909, 5, apm_gpu, 0.601320
+2, 50999909, 10, apm, 8.444321
+2, 50999909, 10, apm_omp, 9.819869
+2, 50999909, 10, apm_gpu, 1.497566
+2, 50999909, 20, apm, timeout
+2, 50999909, 20, apm_omp, 18.002318
+2, 50999909, 20, apm_gpu, 2, 509998048, 5, apm, 22.765272
+2, 509998048, 5, apm_omp, timeout
+2, 509998048, 5, apm_gpu, 3.096189
+2, 509998048, 10, apm, timeout
+2, 509998048, 10, apm_omp, timeout
+2, 509998048, 10, apm_gpu, 2, 509998048, 20, apm, timeout
+2, 509998048, 20, apm_omp, timeout
+2, 509998048, 20, apm_gpu, 3, 5099959, 5, apm, 0.247535
+3, 5099959, 5, apm_omp, 0.366703
+3, 5099959, 5, apm_gpu, 0.313171
+3, 5099959, 10, apm, 0.875409
+3, 5099959, 10, apm_omp, 0.891700
+3, 5099959, 10, apm_gpu, 0.423949
+3, 5099959, 20, apm, 3.675757
+3, 5099959, 20, apm_omp, 2.145005
+3, 5099959, 20, apm_gpu, 1.019654
+3, 50999909, 5, apm, 2.290335
+3, 50999909, 5, apm_omp, 3.739054
+3, 50999909, 5, apm_gpu, 0.592483
+3, 50999909, 10, apm, 8.388547
+3, 50999909, 10, apm_omp, 9.391987
+3, 50999909, 10, apm_gpu, 1.497062
+3, 50999909, 20, apm, timeout
+3, 50999909, 20, apm_omp, 19.294988
+3, 50999909, 20, apm_gpu, 3, 509998048, 5, apm, 22.517008
+3, 509998048, 5, apm_omp, timeout
+3, 509998048, 5, apm_gpu, 3.095549
+3, 509998048, 10, apm, timeout
+3, 509998048, 10, apm_omp, timeout
+3, 509998048, 10, apm_gpu, 3, 509998048, 20, apm, timeout
+3, 509998048, 20, apm_omp, timeout
+3, 509998048, 20, apm_gpu, 4, 5099959, 5, apm, 0.259721
+4, 5099959, 5, apm_omp, 0.395215
+4, 5099959, 5, apm_gpu, 0.310254
+4, 5099959, 10, apm, 0.877415
+4, 5099959, 10, apm_omp, 0.942831
+4, 5099959, 10, apm_gpu, 0.420876
+4, 5099959, 20, apm, 3.705984
+4, 5099959, 20, apm_omp, 2.130368
+4, 5099959, 20, apm_gpu, 1.003650
+4, 50999909, 5, apm, 2.280140
+4, 50999909, 5, apm_omp, 3.890529
+4, 50999909, 5, apm_gpu, 0.598255
+4, 50999909, 10, apm, 8.410639
+4, 50999909, 10, apm_omp, 9.122599
+4, 50999909, 10, apm_gpu, 1.498870
+4, 50999909, 20, apm, timeout
+4, 50999909, 20, apm_omp, 19.000849
+4, 50999909, 20, apm_gpu, 4, 509998048, 5, apm, 22.524302
+4, 509998048, 5, apm_omp, timeout
+4, 509998048, 5, apm_gpu, 3.105087
+4, 509998048, 10, apm, timeout
+4, 509998048, 10, apm_omp, timeout
+4, 509998048, 10, apm_gpu, 4, 509998048, 20, apm, timeout
+4, 509998048, 20, apm_omp, timeout
+4, 509998048, 20, apm_gpu, 5, 5099959, 5, apm, 0.242744
+5, 5099959, 5, apm_omp, 0.403384
+5, 5099959, 5, apm_gpu, 0.306511
+5, 5099959, 10, apm, 0.877420
+5, 5099959, 10, apm_omp, 0.917448
+5, 5099959, 10, apm_gpu, 0.435412
+5, 5099959, 20, apm, 3.661029
+5, 5099959, 20, apm_omp, 2.125995
+5, 5099959, 20, apm_gpu, 1.016576
+5, 50999909, 5, apm, 2.276520
+5, 50999909, 5, apm_omp, 3.677818
+5, 50999909, 5, apm_gpu, 0.595514
+5, 50999909, 10, apm, 8.471046
+5, 50999909, 10, apm_omp, 9.958250
+5, 50999909, 10, apm_gpu, 1.500045
+5, 50999909, 20, apm, timeout
+5, 50999909, 20, apm_omp, 14.814410
+5, 50999909, 20, apm_gpu, 5, 509998048, 5, apm, 22.485241
+5, 509998048, 5, apm_omp, timeout
+5, 509998048, 5, apm_gpu, 3.093108
+5, 509998048, 10, apm, timeout
+5, 509998048, 10, apm_omp, timeout
+5, 509998048, 10, apm_gpu, 5, 509998048, 20, apm, timeout
+5, 509998048, 20, apm_omp, timeout
+5, 509998048, 20, apm_gpu, 
\ No newline at end of file
diff --git a/Projet/CODE/apm/src/apm_gpu.cu b/Projet/CODE/apm/src/apm_gpu.cu
index 7405782..44cd14f 100644
--- a/Projet/CODE/apm/src/apm_gpu.cu
+++ b/Projet/CODE/apm/src/apm_gpu.cu
@@ -93,6 +93,7 @@ get_file_size(int fd)
 	lseek(fd, 0, SEEK_SET);
 	return size;
 }
+
 char *
 read_input_file_max(int fd, int *size, off_t offset)
 {
-- 
GitLab