// optimal number of processes #include "work.h" #include #include #include int main() { const std::size_t P = get_nprocs(); for (std::size_t i = 0; i < P; ++i) switch (fork()) { case -1: return EXIT_FAILURE; case 0: work(i * N / P, (i + 1) * N / P); return EXIT_SUCCESS; default: wait(nullptr); } }