#include #include #include const std::size_t problem_size = 10000; // Increase to 100000 for better sample size const std::size_t num_tries = 1000; int main(void) { std::size_t num_problems = 0; for (std::size_t attempt = 0; attempt < num_tries; attempt += 1) { std::vector parallel_checks(problem_size, false); #pragma omp parallel for for (std::size_t i = 0; i < problem_size; i++) { parallel_checks[i] = omp_in_parallel(); } for (std::size_t i = 0; i < problem_size; i++) { if (!parallel_checks[i]) { num_problems += 1; break; } } } std::cout << num_problems << " failed out of " << num_tries << "\n"; return 0; }