diff --git a/Projet/CODE/apm/bench.sh b/Projet/CODE/apm/bench.sh new file mode 100755 index 0000000000000000000000000000000000000000..b78e1458cb35122960591c16b0a47d1dee771c22 --- /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 0000000000000000000000000000000000000000..af22ad3faa634dbea078bcb516b64ecb56d7768e --- /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 7405782dc07fb02f23c89dfb65576537942470fd..44cd14fc450a1989020f3b9277b8d2d07e401e93 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) {