Allow automatic test run for lattice
This commit is contained in:
parent
a5f52a6c58
commit
cacde80b30
|
@ -1,5 +1,5 @@
|
||||||
fmr_omp-str_base-prog*
|
fmr_omp-str_base-prog*
|
||||||
fmr_omp-str_base.txt
|
fmr_omp-str_base.txt
|
||||||
lattice
|
lattice-prog-*
|
||||||
pipeline_template
|
pipeline_template
|
||||||
logs/*
|
logs/*
|
||||||
|
|
|
@ -1,14 +1,28 @@
|
||||||
CFLAGS?=-Wall -Wextra
|
CFLAGS?=-Wall -Wextra
|
||||||
|
|
||||||
all: fmr_omp-str_base-prog fmr_omp-str_base-prog-fopenmp
|
all: allfmr
|
||||||
|
|
||||||
runall: runfmrprog runfmrprog-fopenmp
|
allfmr: fmr_omp-str_base-prog fmr_omp-str_base-prog-fopenmp
|
||||||
|
|
||||||
|
alllattice: lattice-prog-1 lattice-prog-fopenmp-2 lattice-prog-fopenmp-4 lattice-prog-fopenmp-8
|
||||||
|
|
||||||
|
runall: runallfmr runalllattice
|
||||||
|
|
||||||
|
runallfmr: runfmrprog runfmrprog-fopenmp
|
||||||
|
|
||||||
|
runalllattice: runlatticeprog-1 runlatticeprog-fopenmp-2 runlatticeprog-fopenmp-4 runlatticeprog-fopenmp-8
|
||||||
|
|
||||||
fmr_omp-str_base-%: fmr_omp-str_base.c
|
fmr_omp-str_base-%: fmr_omp-str_base.c
|
||||||
gcc $(CFLAGS) $(subst prog,,$*) -o $@ $< -lm
|
gcc $(CFLAGS) $(subst prog,,$*) -o $@ $< -lm
|
||||||
|
|
||||||
runfmr%: fmr_omp-str_base-%
|
runfmr%: fmr_omp-str_base-%
|
||||||
perf stat -r 10 ./$<
|
script -c "perf stat -r 10 ./$< input_20.dat" logs/$<-$$(date +%Y-%m-%d_%H-%M-%S).log
|
||||||
rm fmr_omp-str_base-$*.txt
|
rm fmr_omp-str_base-$*.txt
|
||||||
|
|
||||||
.PHONY: runall runfmr%
|
lattice-prog-%: lattice.c
|
||||||
|
NUM=$*;OPT=-$*;gcc $(CFLAGS) -DNB_CORES=$${NUM##*-} $${OPT%-*} -o $@ $<
|
||||||
|
|
||||||
|
runlattice%: lattice-%
|
||||||
|
script -c "perf stat -r 10 ./$< -p 50" logs/$<-$$(date +%Y-%m-%d_%H-%M-%S).log
|
||||||
|
|
||||||
|
.PHONY: all allfmr alllattice runall runfmr runfmr% runlattice runlattice%
|
||||||
|
|
|
@ -334,9 +334,55 @@ int compute_metrics(void)
|
||||||
p_matrix[j / AAC_SCE_PROT_PER_CORE_BIT][j % AAC_SCE_PROT_PER_CORE_BIT] = line;
|
p_matrix[j / AAC_SCE_PROT_PER_CORE_BIT][j % AAC_SCE_PROT_PER_CORE_BIT] = line;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if NB_CORES > 1
|
||||||
|
#if NB_CORES == 2
|
||||||
|
#pragma omp parallel default (none) \
|
||||||
|
shared (nb_packets, lattice_metrics, p_matrix, seed) \
|
||||||
|
private (state0, state1, i)
|
||||||
|
#elif NB_CORES == 3
|
||||||
|
#pragma omp parallel default (none) \
|
||||||
|
shared (nb_packets, lattice_metrics, p_matrix, seed) \
|
||||||
|
private (state0, state1, state2, i)
|
||||||
|
#elif NB_CORES == 4
|
||||||
#pragma omp parallel default (none) \
|
#pragma omp parallel default (none) \
|
||||||
shared (nb_packets, lattice_metrics, p_matrix, seed) \
|
shared (nb_packets, lattice_metrics, p_matrix, seed) \
|
||||||
private (state0, state1, state2, state3, i)
|
private (state0, state1, state2, state3, i)
|
||||||
|
#elif NB_CORES == 5
|
||||||
|
#pragma omp parallel default (none) \
|
||||||
|
shared (nb_packets, lattice_metrics, p_matrix, seed) \
|
||||||
|
private (state0, state1, state2, state3, state4, i)
|
||||||
|
#elif NB_CORES == 6
|
||||||
|
#pragma omp parallel default (none) \
|
||||||
|
shared (nb_packets, lattice_metrics, p_matrix, seed) \
|
||||||
|
private (state0, state1, state2, state3, state4, state5, i)
|
||||||
|
#elif NB_CORES == 7
|
||||||
|
#pragma omp parallel default (none) \
|
||||||
|
shared (nb_packets, lattice_metrics, p_matrix, seed) \
|
||||||
|
private (state0, state1, state2, state3, state4, state5, state6, i)
|
||||||
|
#elif NB_CORES == 8
|
||||||
|
#pragma omp parallel default (none) \
|
||||||
|
shared (nb_packets, lattice_metrics, p_matrix, seed) \
|
||||||
|
private (state0, state1, state2, state3, state4, state5, state6, state7, i)
|
||||||
|
#elif NB_CORES == 9
|
||||||
|
#pragma omp parallel default (none) \
|
||||||
|
shared (nb_packets, lattice_metrics, p_matrix, seed) \
|
||||||
|
private (state0, state1, state2, state3, state4, state5, state6, state7, state8, i)
|
||||||
|
#elif NB_CORES == 10
|
||||||
|
#pragma omp parallel default (none) \
|
||||||
|
shared (nb_packets, lattice_metrics, p_matrix, seed) \
|
||||||
|
private (state0, state1, state2, state3, state4, state5, state6, state7, state8, state9, i)
|
||||||
|
#elif NB_CORES == 11
|
||||||
|
#pragma omp parallel default (none) \
|
||||||
|
shared (nb_packets, lattice_metrics, p_matrix, seed) \
|
||||||
|
private (state0, state1, state2, state3, state4, state5, state6, state7, state8, state9, state10, i)
|
||||||
|
#elif NB_CORES == 12
|
||||||
|
#pragma omp parallel default (none) \
|
||||||
|
shared (nb_packets, lattice_metrics, p_matrix, seed) \
|
||||||
|
private (state0, state1, state2, state3, state4, state5, state6, state7, state8, state9, state10, state11, i)
|
||||||
|
#else
|
||||||
|
#error Only supporting NB_CORES <= 12
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
#pragma omp single
|
#pragma omp single
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue