#include <stdio.h>
#include <stdlib.h>
#include <omp.h>
#include <sys/sysconf.h>

int main (int argc, char *argv[])
{
    int nthreads, tid;
    printf("SC_NPROCESSORS_ONLN: %d\n", sysconf (_SC_NPROCESSORS_ONLN));
  #pragma omp parallel default(shared) private(nthreads, tid)
    /* Fork a team of threads giving them their own copies of variables */
    {
      /* Obtain thread number */
        tid = omp_get_thread_num();
        printf("Hello World from thread = %d\n", tid);
      /* Only master thread does this */
        if (tid == 0)
        {
            nthreads = omp_get_num_threads();
            printf("Number of threads = %d\n", nthreads);
        }
    }  /* All threads join master thread and disband */

  return 0;
}
