此次 OpenMP 作业是上课提到过的例子,比较简单,《并行程序设计导论》第 48 页也有提及。请使用 OpenMP 实现第二章所讲的并行直方图,详情如下。
编译方式:gcc -g -Wall -fopenmp -o omp_histogram omp_histogram.c
运行方式:./omp_histogram <<桶数 b>> <<线程数>> <<区间左端点>> <<区间右端点>>
数的个数 n 和数 𝑎1, 𝑎2, 𝑎3,…, 𝑎𝑛(所有数保证在区间范围内)
桶数 b 行,每行输出该桶表示的区间范围和在该范围的数字个数
区间左闭右开,例如,1.00 在区间 From 1.000 to 2.000 中
./omp_histogram 8 4 -4.0 4.0
16 -3.5 -3.3 -3.2 -2.1 -1.2 -0.3 0.5 0.1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8
From -4.000 to -3.000: 3
From -3.000 to -2.000: 1
From -2.000 to -1.000: 1
From -1.000 to -0.000: 1
From 0.000 to 1.000: 2
From 1.000 to 2.000: 8
From 2.000 to 3.000: 0
From 3.000 to 4.000: 0