Support NB_CORES between 1 and 12 out of the box

Prepare an "omp parallel" pragma for NB_CORES between 2 and 12. This
avoid needing any change in the file for NB_CORES between 1 and 12.
This commit is contained in:
Thomas Preud'homme 2012-02-01 19:10:54 +01:00
parent dc0931cde0
commit 4fa9811144
1 changed files with 46 additions and 0 deletions

View File

@ -184,9 +184,55 @@ int compute_metrics(void)
#endif
#endif
#if NB_CORES > 1
#if NB_CORES == 2
#pragma omp parallel default (none) \
shared (nb_packets, seed) \
private (state1, i)
#elif NB_CORES == 3
#pragma omp parallel default (none) \
shared (nb_packets, seed) \
private (state1, state2, i)
#elif NB_CORES == 4
#pragma omp parallel default (none) \
shared (nb_packets, seed) \
private (state1, state2, state3, i)
#elif NB_CORES == 5
#pragma omp parallel default (none) \
shared (nb_packets, seed) \
private (state1, state2, state3, state4, i)
#elif NB_CORES == 6
#pragma omp parallel default (none) \
shared (nb_packets, seed) \
private (state1, state2, state3, state4, state5, i)
#elif NB_CORES == 7
#pragma omp parallel default (none) \
shared (nb_packets, seed) \
private (state1, state2, state3, state4, state5, state6, i)
#elif NB_CORES == 8
#pragma omp parallel default (none) \
shared (nb_packets, seed) \
private (state1, state2, state3, state4, state5, state6, state7, i)
#elif NB_CORES == 9
#pragma omp parallel default (none) \
shared (nb_packets, seed) \
private (state1, state2, state3, state4, state5, state6, state7, state8, i)
#elif NB_CORES == 10
#pragma omp parallel default (none) \
shared (nb_packets, seed) \
private (state1, state2, state3, state4, state5, state6, state7, state8, state9, i)
#elif NB_CORES == 11
#pragma omp parallel default (none) \
shared (nb_packets, seed) \
private (state1, state2, state3, state4, state5, state6, state7, state8, state9, state10, i)
#elif NB_CORES == 12
#pragma omp parallel default (none) \
shared (nb_packets, seed) \
private (state1, state2, state3, state4, state5, state6, state7, state8, state9, state11, i)
#else
#error Only supporting NB_CORES <= 12
#endif
#endif
{
#pragma omp single
{