| #include <sys/sysinfo.h> | 
 | #include <omp.h> | 
 | #include <stdio.h> | 
 | #include <stdlib.h> | 
 | #include <parlib/vcore.h> | 
 |  | 
 | int main (int argc, char *argv[])  | 
 | { | 
 |   int nthreads, tid; | 
 |   printf("get_nprocs: %d\n", get_nprocs()); | 
 |   printf("SC_NPROCESSORS_ONLN: %d\n", sysconf (_SC_NPROCESSORS_ONLN)); | 
 |   printf("max num vcores: %d\n", max_vcores()); | 
 |  | 
 | /* Fork a team of threads giving them their own copies of variables */ | 
 | #pragma omp parallel private(nthreads, tid) | 
 |   { | 
 |  | 
 |   /* 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 */ | 
 |  | 
 | } |