1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
// RUN: %libomp-compile && env KMP_AFFINITY=compact %libomp-run
#include <stdio.h>
#include <stdint.h>
#include <omp.h>
#include "omp_testsuite.h"
int test_nested_affinity_bug() {
int a = 0;
omp_set_nested(1);
#pragma omp parallel num_threads(2) shared(a)
{
#pragma omp parallel num_threads(2) shared(a) proc_bind(close)
{
#pragma omp atomic
a++;
}
}
return 1;
}
int main() {
int i;
int num_failed = 0;
for (i = 0; i < REPETITIONS; i++) {
if (!test_nested_affinity_bug()) {
num_failed++;
}
}
return num_failed;
}
|