1ba7c0c855e4487629cf7150e463a75fde774bf66Andrew Hsieh#include <stdio.h> 2ba7c0c855e4487629cf7150e463a75fde774bf66Andrew Hsieh#include <stdlib.h> 3ba7c0c855e4487629cf7150e463a75fde774bf66Andrew Hsieh#include <omp.h> 4ba7c0c855e4487629cf7150e463a75fde774bf66Andrew Hsieh 5ba7c0c855e4487629cf7150e463a75fde774bf66Andrew Hsiehint main(int argc, char *argv[]) 6ba7c0c855e4487629cf7150e463a75fde774bf66Andrew Hsieh{ 7ba7c0c855e4487629cf7150e463a75fde774bf66Andrew Hsieh int iam = 0, np = 1; 8ba7c0c855e4487629cf7150e463a75fde774bf66Andrew Hsieh 9ba7c0c855e4487629cf7150e463a75fde774bf66Andrew Hsieh if (!getenv("OMP_NUM_THREADS")) 10ba7c0c855e4487629cf7150e463a75fde774bf66Andrew Hsieh omp_set_num_threads(4); 11ba7c0c855e4487629cf7150e463a75fde774bf66Andrew Hsieh 12ba7c0c855e4487629cf7150e463a75fde774bf66Andrew Hsieh #pragma omp parallel default(shared) private(iam, np) 13ba7c0c855e4487629cf7150e463a75fde774bf66Andrew Hsieh { 14ba7c0c855e4487629cf7150e463a75fde774bf66Andrew Hsieh #if defined(_OPENMP) 15ba7c0c855e4487629cf7150e463a75fde774bf66Andrew Hsieh np = omp_get_num_threads(); 16ba7c0c855e4487629cf7150e463a75fde774bf66Andrew Hsieh iam = omp_get_thread_num(); 17ba7c0c855e4487629cf7150e463a75fde774bf66Andrew Hsieh #endif 18ba7c0c855e4487629cf7150e463a75fde774bf66Andrew Hsieh printf("Hello from thread %d out of %d\n", iam, np); 19ba7c0c855e4487629cf7150e463a75fde774bf66Andrew Hsieh } 20ba7c0c855e4487629cf7150e463a75fde774bf66Andrew Hsieh 21ba7c0c855e4487629cf7150e463a75fde774bf66Andrew Hsieh return 0; 22ba7c0c855e4487629cf7150e463a75fde774bf66Andrew Hsieh} 23