Jakub Jelinek wrote:
Tested with libgomp testsuite and looked at performance numbers of Sho's omp_fib.c and libgomp.c/sort-1.c, unfortunately the differences looked to be in the noise. But, e.g. on omp_fib.c strace -f shows that the number of futex FUTEX_WAKE syscalls went down a lot (from ~ 75000 for omp_fib 32 down to ~ 50 with the default wait policy, of course for OMP_WAIT_POLICY=passive it remained roughly the same).
I have tested the patch on an Intel(R) Xeon(R) CPU X5570 @ 2.93GHz (2x Quad with hypherthreading) with SUSE Linux Enterprise Server 11 (x86_64), PATCHLEVEL = 1 and GNU C Library stable release version 2.11.1.
GCC 4.7.0 20110714 [trunk revision 176260] flags: -Ofast -march=native -funroll-loops -flto -fwhole-program
Tested with four programs (in different variations) of NANOS's OpenMP task (!) test suite, available at http://nanos.ac.upc.edu/content/barcelona-openmp-task-suite
I always did 3 runs with the original libgomp.so and three with the patched one, taking the average of those runs. The columns are: Average run time (old), relative speed up to serial version, average run time (patched), speedup to the serial version, ratio (old)/(patched) in per cent.
Thus, the per-cent number is the crucial number - and the higher the better for this patch.
FFT and health profit a lot from the patch - especially for with many threads; alignment is in the noise. Taking the % number, summing it up and dividing it by the number of runs gives: 102.2%, which indicates a ~2% performance gain.
Thanks for the patch Jakub! Tobias PS: I have repeated the FFT test cases to see how reliable the numbers are.
fft 8.500 1.03 8.990 0.97 94.5% Threads 1 (fft.gcc.omp-tasks) fft 5.857 1.50 5.937 1.48 98.7% Threads 2 (fft.gcc.omp-tasks) fft 4.047 2.16 3.940 2.22 102.7% Threads 3 (fft.gcc.omp-tasks) fft 3.490 2.51 3.547 2.47 98.4% Threads 4 (fft.gcc.omp-tasks) fft 3.080 2.84 3.020 2.90 102.0% Threads 5 (fft.gcc.omp-tasks) fft 2.790 3.14 2.773 3.16 100.6% Threads 6 (fft.gcc.omp-tasks) fft 2.670 3.28 2.873 3.05 92.9% Threads 7 (fft.gcc.omp-tasks) fft 2.847 3.08 2.763 3.17 103.0% Threads 8 (fft.gcc.omp-tasks) fft 3.040 2.88 2.730 3.21 111.4% Threads 9 (fft.gcc.omp-tasks) fft 3.010 2.91 2.697 3.25 111.6% Threads 10 (fft.gcc.omp-tasks) fft 3.070 2.85 2.793 3.14 109.9% Threads 11 (fft.gcc.omp-tasks) fft 3.163 2.77 2.850 3.07 111.0% Threads 12 (fft.gcc.omp-tasks) fft 3.480 2.52 2.857 3.07 121.8% Threads 13 (fft.gcc.omp-tasks) fft 3.237 2.71 2.970 2.95 109.0% Threads 14 (fft.gcc.omp-tasks) fft 3.330 2.63 3.003 2.92 110.9% Threads 15 (fft.gcc.omp-tasks) fft 3.517 2.49 3.063 2.86 114.8% Threads 16 (fft.gcc.omp-tasks) fft 9.000 0.97 8.973 0.98 100.3% Threads 1 (fft.gcc.omp-tasks) fft 5.937 1.48 5.853 1.50 101.4% Threads 2 (fft.gcc.omp-tasks) fft 3.970 2.21 3.993 2.19 99.4% Threads 3 (fft.gcc.omp-tasks) fft 3.510 2.50 3.513 2.49 99.9% Threads 4 (fft.gcc.omp-tasks) fft 3.070 2.85 3.033 2.89 101.2% Threads 5 (fft.gcc.omp-tasks) fft 2.793 3.14 2.810 3.12 99.4% Threads 6 (fft.gcc.omp-tasks) fft 2.823 3.10 2.653 3.30 106.4% Threads 7 (fft.gcc.omp-tasks) fft 2.830 3.10 2.777 3.15 101.9% Threads 8 (fft.gcc.omp-tasks) fft 3.017 2.90 2.797 3.13 107.9% Threads 9 (fft.gcc.omp-tasks) fft 2.913 3.01 2.777 3.15 104.9% Threads 10 (fft.gcc.omp-tasks) fft 3.160 2.77 2.807 3.12 112.6% Threads 11 (fft.gcc.omp-tasks) fft 3.193 2.74 2.930 2.99 109.0% Threads 12 (fft.gcc.omp-tasks) fft 3.283 2.67 2.920 3.00 112.4% Threads 13 (fft.gcc.omp-tasks) fft 3.273 2.68 2.997 2.92 109.2% Threads 14 (fft.gcc.omp-tasks) fft 3.317 2.64 3.007 2.91 110.3% Threads 15 (fft.gcc.omp-tasks) fft 3.503 2.50 3.107 2.82 112.8% Threads 16 (fft.gcc.omp-tasks) fft 9.010 0.97 8.577 1.02 105.1% Threads 1 (fft.gcc.omp-tasks-tied) fft 5.690 1.54 5.793 1.51 98.2% Threads 2 (fft.gcc.omp-tasks-tied) fft 3.910 2.24 3.923 2.23 99.7% Threads 3 (fft.gcc.omp-tasks-tied) fft 3.397 2.58 3.617 2.42 93.9% Threads 4 (fft.gcc.omp-tasks-tied) fft 3.133 2.80 3.013 2.91 104.0% Threads 5 (fft.gcc.omp-tasks-tied) fft 2.803 3.12 2.863 3.06 97.9% Threads 6 (fft.gcc.omp-tasks-tied) fft 2.763 3.17 2.637 3.32 104.8% Threads 7 (fft.gcc.omp-tasks-tied) fft 2.627 3.34 2.727 3.21 96.3% Threads 8 (fft.gcc.omp-tasks-tied) fft 2.880 3.04 2.770 3.16 104.0% Threads 9 (fft.gcc.omp-tasks-tied) fft 2.883 3.04 2.753 3.18 104.7% Threads 10 (fft.gcc.omp-tasks-tied) fft 3.047 2.88 2.863 3.06 106.4% Threads 11 (fft.gcc.omp-tasks-tied) fft 3.137 2.79 2.843 3.08 110.3% Threads 12 (fft.gcc.omp-tasks-tied) fft 3.220 2.72 2.960 2.96 108.8% Threads 13 (fft.gcc.omp-tasks-tied) fft 3.390 2.58 2.927 2.99 115.8% Threads 14 (fft.gcc.omp-tasks-tied) fft 3.353 2.61 3.033 2.89 110.5% Threads 15 (fft.gcc.omp-tasks-tied) fft 3.460 2.53 3.107 2.82 111.4% Threads 16 (fft.gcc.omp-tasks-tied) fft 8.590 1.02 9.010 0.97 95.3% Threads 1 (fft.gcc.omp-tasks-tied) fft 5.907 1.48 5.760 1.52 102.5% Threads 2 (fft.gcc.omp-tasks-tied) fft 4.023 2.18 4.000 2.19 100.6% Threads 3 (fft.gcc.omp-tasks-tied) fft 3.383 2.59 3.533 2.48 95.8% Threads 4 (fft.gcc.omp-tasks-tied) fft 3.067 2.86 3.013 2.91 101.8% Threads 5 (fft.gcc.omp-tasks-tied) fft 2.837 3.09 2.713 3.23 104.5% Threads 6 (fft.gcc.omp-tasks-tied) fft 2.710 3.23 2.610 3.36 103.8% Threads 7 (fft.gcc.omp-tasks-tied) fft 2.883 3.04 2.627 3.34 109.8% Threads 8 (fft.gcc.omp-tasks-tied) fft 2.973 2.95 2.883 3.04 103.1% Threads 9 (fft.gcc.omp-tasks-tied) fft 2.897 3.02 2.690 3.26 107.7% Threads 10 (fft.gcc.omp-tasks-tied) fft 3.027 2.89 2.853 3.07 106.1% Threads 11 (fft.gcc.omp-tasks-tied) fft 3.193 2.74 2.840 3.08 112.4% Threads 12 (fft.gcc.omp-tasks-tied) fft 3.260 2.69 2.873 3.05 113.5% Threads 13 (fft.gcc.omp-tasks-tied) fft 3.200 2.74 2.907 3.01 110.1% Threads 14 (fft.gcc.omp-tasks-tied) fft 3.367 2.60 2.993 2.93 112.5% Threads 15 (fft.gcc.omp-tasks-tied) fft 3.480 2.52 3.123 2.80 111.4% Threads 16 (fft.gcc.omp-tasks-tied) alignment 20.443 1.01 20.617 1.00 99.2% Threads 1 (alignment.gcc.for-omp-tasks) alignment 10.267 2.01 10.240 2.01 100.3% Threads 2 (alignment.gcc.for-omp-tasks) alignment 6.853 3.01 6.890 2.99 99.5% Threads 3 (alignment.gcc.for-omp-tasks) alignment 5.170 3.99 5.210 3.96 99.2% Threads 4 (alignment.gcc.for-omp-tasks) alignment 4.167 4.95 4.290 4.81 97.1% Threads 5 (alignment.gcc.for-omp-tasks) alignment 3.460 5.96 3.490 5.91 99.1% Threads 6 (alignment.gcc.for-omp-tasks) alignment 3.007 6.86 2.950 6.99 101.9% Threads 7 (alignment.gcc.for-omp-tasks) alignment 2.717 7.59 2.613 7.90 104.0% Threads 8 (alignment.gcc.for-omp-tasks) alignment 2.597 7.95 2.550 8.09 101.8% Threads 9 (alignment.gcc.for-omp-tasks) alignment 2.503 8.24 2.467 8.36 101.5% Threads 10 (alignment.gcc.for-omp-tasks) alignment 2.430 8.49 2.433 8.48 99.9% Threads 11 (alignment.gcc.for-omp-tasks) alignment 2.403 8.59 2.367 8.72 101.5% Threads 12 (alignment.gcc.for-omp-tasks) alignment 2.307 8.94 2.313 8.92 99.7% Threads 13 (alignment.gcc.for-omp-tasks) alignment 2.303 8.96 2.267 9.10 101.6% Threads 14 (alignment.gcc.for-omp-tasks) alignment 2.227 9.27 2.223 9.28 100.1% Threads 15 (alignment.gcc.for-omp-tasks) alignment 2.183 9.45 2.237 9.22 97.6% Threads 16 (alignment.gcc.for-omp-tasks) alignment 20.680 1.00 20.457 1.01 101.1% Threads 1 (alignment.gcc.for-omp-tasks-tied) alignment 10.247 2.01 10.263 2.01 99.8% Threads 2 (alignment.gcc.for-omp-tasks-tied) alignment 6.863 3.01 6.903 2.99 99.4% Threads 3 (alignment.gcc.for-omp-tasks-tied) alignment 5.203 3.97 5.203 3.97 100.0% Threads 4 (alignment.gcc.for-omp-tasks-tied) alignment 4.177 4.94 4.167 4.95 100.2% Threads 5 (alignment.gcc.for-omp-tasks-tied) alignment 3.463 5.96 3.493 5.91 99.1% Threads 6 (alignment.gcc.for-omp-tasks-tied) alignment 3.000 6.88 2.953 6.99 101.6% Threads 7 (alignment.gcc.for-omp-tasks-tied) alignment 2.593 7.96 2.600 7.94 99.7% Threads 8 (alignment.gcc.for-omp-tasks-tied) alignment 2.597 7.95 2.543 8.11 102.1% Threads 9 (alignment.gcc.for-omp-tasks-tied) alignment 2.507 8.23 2.527 8.17 99.2% Threads 10 (alignment.gcc.for-omp-tasks-tied) alignment 2.420 8.53 2.423 8.51 99.9% Threads 11 (alignment.gcc.for-omp-tasks-tied) alignment 2.370 8.71 2.367 8.72 100.1% Threads 12 (alignment.gcc.for-omp-tasks-tied) alignment 2.317 8.91 2.437 8.47 95.1% Threads 13 (alignment.gcc.for-omp-tasks-tied) alignment 2.253 9.16 2.263 9.12 99.6% Threads 14 (alignment.gcc.for-omp-tasks-tied) alignment 2.200 9.38 2.200 9.38 100.0% Threads 15 (alignment.gcc.for-omp-tasks-tied) alignment 2.167 9.52 2.160 9.55 100.3% Threads 16 (alignment.gcc.for-omp-tasks-tied) alignment 20.477 1.01 20.483 1.01 100.0% Threads 1 (alignment.gcc.single-omp-tasks) alignment 10.250 2.01 10.253 2.01 100.0% Threads 2 (alignment.gcc.single-omp-tasks) alignment 6.830 3.02 6.837 3.02 99.9% Threads 3 (alignment.gcc.single-omp-tasks) alignment 5.170 3.99 5.130 4.02 100.8% Threads 4 (alignment.gcc.single-omp-tasks) alignment 4.137 4.99 4.107 5.02 100.7% Threads 5 (alignment.gcc.single-omp-tasks) alignment 3.423 6.03 3.457 5.97 99.0% Threads 6 (alignment.gcc.single-omp-tasks) alignment 2.937 7.03 2.963 6.96 99.1% Threads 7 (alignment.gcc.single-omp-tasks) alignment 2.573 8.02 2.650 7.79 97.1% Threads 8 (alignment.gcc.single-omp-tasks) alignment 2.533 8.14 2.530 8.16 100.1% Threads 9 (alignment.gcc.single-omp-tasks) alignment 2.487 8.30 2.457 8.40 101.2% Threads 10 (alignment.gcc.single-omp-tasks) alignment 2.450 8.42 2.393 8.62 102.4% Threads 11 (alignment.gcc.single-omp-tasks) alignment 2.340 8.82 2.363 8.73 99.0% Threads 12 (alignment.gcc.single-omp-tasks) alignment 2.287 9.02 2.280 9.05 100.3% Threads 13 (alignment.gcc.single-omp-tasks) alignment 2.230 9.25 2.237 9.22 99.7% Threads 14 (alignment.gcc.single-omp-tasks) alignment 2.187 9.44 2.223 9.28 98.4% Threads 15 (alignment.gcc.single-omp-tasks) alignment 2.143 9.63 2.223 9.28 96.4% Threads 16 (alignment.gcc.single-omp-tasks) alignment 20.950 0.98 20.453 1.01 102.4% Threads 1 (alignment.gcc.single-omp-tasks-tied) alignment 10.260 2.01 10.263 2.01 100.0% Threads 2 (alignment.gcc.single-omp-tasks-tied) alignment 6.853 3.01 6.847 3.01 100.1% Threads 3 (alignment.gcc.single-omp-tasks-tied) alignment 5.140 4.01 5.130 4.02 100.2% Threads 4 (alignment.gcc.single-omp-tasks-tied) alignment 4.107 5.02 4.110 5.02 99.9% Threads 5 (alignment.gcc.single-omp-tasks-tied) alignment 3.423 6.03 3.427 6.02 99.9% Threads 6 (alignment.gcc.single-omp-tasks-tied) alignment 2.940 7.02 2.937 7.03 100.1% Threads 7 (alignment.gcc.single-omp-tasks-tied) alignment 2.570 8.03 2.570 8.03 100.0% Threads 8 (alignment.gcc.single-omp-tasks-tied) alignment 2.507 8.23 2.510 8.22 99.9% Threads 9 (alignment.gcc.single-omp-tasks-tied) alignment 2.470 8.35 2.470 8.35 100.0% Threads 10 (alignment.gcc.single-omp-tasks-tied) alignment 2.383 8.66 2.390 8.63 99.7% Threads 11 (alignment.gcc.single-omp-tasks-tied) alignment 2.333 8.84 2.333 8.84 100.0% Threads 12 (alignment.gcc.single-omp-tasks-tied) alignment 2.297 8.98 2.280 9.05 100.7% Threads 13 (alignment.gcc.single-omp-tasks-tied) alignment 2.243 9.20 2.253 9.16 99.6% Threads 14 (alignment.gcc.single-omp-tasks-tied) alignment 2.187 9.44 2.183 9.45 100.2% Threads 15 (alignment.gcc.single-omp-tasks-tied) alignment 2.140 9.64 2.170 9.51 98.6% Threads 16 (alignment.gcc.single-omp-tasks-tied) health 9.587 0.84 9.580 0.84 100.1% Threads 1 (health.gcc.omp-tasks) health 10.840 0.74 10.320 0.78 105.0% Threads 2 (health.gcc.omp-tasks) health 11.360 0.71 10.950 0.74 103.7% Threads 3 (health.gcc.omp-tasks) health 16.257 0.50 17.160 0.47 94.7% Threads 4 (health.gcc.omp-tasks) health 18.093 0.45 18.840 0.43 96.0% Threads 5 (health.gcc.omp-tasks) health 21.187 0.38 20.693 0.39 102.4% Threads 6 (health.gcc.omp-tasks) health 22.460 0.36 22.157 0.36 101.4% Threads 7 (health.gcc.omp-tasks) health 24.227 0.33 23.547 0.34 102.9% Threads 8 (health.gcc.omp-tasks) health 23.883 0.34 23.403 0.34 102.1% Threads 9 (health.gcc.omp-tasks) health 24.637 0.33 23.310 0.35 105.7% Threads 10 (health.gcc.omp-tasks) health 25.107 0.32 23.227 0.35 108.1% Threads 11 (health.gcc.omp-tasks) health 25.147 0.32 23.200 0.35 108.4% Threads 12 (health.gcc.omp-tasks) health 25.507 0.32 23.080 0.35 110.5% Threads 13 (health.gcc.omp-tasks) health 25.360 0.32 22.520 0.36 112.6% Threads 14 (health.gcc.omp-tasks) health 25.857 0.31 22.830 0.35 113.3% Threads 15 (health.gcc.omp-tasks) health 25.950 0.31 22.627 0.36 114.7% Threads 16 (health.gcc.omp-tasks) health 10.990 0.73 9.607 0.84 114.4% Threads 1 (health.gcc.omp-tasks-tied) health 10.887 0.74 10.423 0.77 104.4% Threads 2 (health.gcc.omp-tasks-tied) health 11.350 0.71 10.783 0.75 105.3% Threads 3 (health.gcc.omp-tasks-tied) health 16.133 0.50 16.863 0.48 95.7% Threads 4 (health.gcc.omp-tasks-tied) health 19.303 0.42 18.777 0.43 102.8% Threads 5 (health.gcc.omp-tasks-tied) health 20.863 0.39 20.607 0.39 101.2% Threads 6 (health.gcc.omp-tasks-tied) health 23.090 0.35 22.007 0.37 104.9% Threads 7 (health.gcc.omp-tasks-tied) health 23.983 0.34 23.293 0.35 103.0% Threads 8 (health.gcc.omp-tasks-tied) health 24.200 0.33 23.560 0.34 102.7% Threads 9 (health.gcc.omp-tasks-tied) health 24.487 0.33 23.213 0.35 105.5% Threads 10 (health.gcc.omp-tasks-tied) health 25.017 0.32 23.417 0.34 106.8% Threads 11 (health.gcc.omp-tasks-tied) health 25.250 0.32 23.053 0.35 109.5% Threads 12 (health.gcc.omp-tasks-tied) health 25.433 0.32 23.213 0.35 109.6% Threads 13 (health.gcc.omp-tasks-tied) health 25.380 0.32 22.767 0.35 111.5% Threads 14 (health.gcc.omp-tasks-tied) health 25.927 0.31 22.737 0.35 114.0% Threads 15 (health.gcc.omp-tasks-tied) health 25.833 0.31 23.487 0.34 110.0% Threads 16 (health.gcc.omp-tasks-tied) health 8.023 1.00 8.153 0.99 98.4% Threads 1 (health.gcc.omp-tasks-if_clause) health 5.203 1.55 5.293 1.52 98.3% Threads 2 (health.gcc.omp-tasks-if_clause) health 3.833 2.10 3.887 2.07 98.6% Threads 3 (health.gcc.omp-tasks-if_clause) health 3.170 2.54 3.203 2.52 99.0% Threads 4 (health.gcc.omp-tasks-if_clause) health 2.863 2.81 2.880 2.80 99.4% Threads 5 (health.gcc.omp-tasks-if_clause) health 2.760 2.92 2.770 2.91 99.6% Threads 6 (health.gcc.omp-tasks-if_clause) health 2.747 2.93 2.740 2.94 100.2% Threads 7 (health.gcc.omp-tasks-if_clause) health 2.710 2.97 2.710 2.97 100.0% Threads 8 (health.gcc.omp-tasks-if_clause) health 2.693 2.99 2.713 2.97 99.3% Threads 9 (health.gcc.omp-tasks-if_clause) health 2.720 2.96 2.713 2.97 100.2% Threads 10 (health.gcc.omp-tasks-if_clause) health 2.717 2.97 2.707 2.98 100.4% Threads 11 (health.gcc.omp-tasks-if_clause) health 2.727 2.96 2.777 2.90 98.2% Threads 12 (health.gcc.omp-tasks-if_clause) health 2.733 2.95 2.727 2.96 100.2% Threads 13 (health.gcc.omp-tasks-if_clause) health 2.743 2.94 2.730 2.95 100.5% Threads 14 (health.gcc.omp-tasks-if_clause) health 2.747 2.93 2.760 2.92 99.5% Threads 15 (health.gcc.omp-tasks-if_clause) health 2.760 2.92 2.757 2.92 100.1% Threads 16 (health.gcc.omp-tasks-if_clause) health 8.120 0.99 8.107 0.99 100.2% Threads 1 (health.gcc.omp-tasks-manual) health 5.310 1.52 5.293 1.52 100.3% Threads 2 (health.gcc.omp-tasks-manual) health 4.003 2.01 3.790 2.13 105.6% Threads 3 (health.gcc.omp-tasks-manual) health 3.197 2.52 3.180 2.53 100.5% Threads 4 (health.gcc.omp-tasks-manual) health 2.887 2.79 2.953 2.73 97.7% Threads 5 (health.gcc.omp-tasks-manual) health 2.780 2.90 2.767 2.91 100.5% Threads 6 (health.gcc.omp-tasks-manual) health 2.763 2.92 2.737 2.95 101.0% Threads 7 (health.gcc.omp-tasks-manual) health 2.720 2.96 2.727 2.96 99.8% Threads 8 (health.gcc.omp-tasks-manual) health 2.707 2.98 2.700 2.99 100.2% Threads 9 (health.gcc.omp-tasks-manual) health 2.727 2.96 2.717 2.97 100.4% Threads 10 (health.gcc.omp-tasks-manual) health 2.713 2.97 2.713 2.97 100.0% Threads 11 (health.gcc.omp-tasks-manual) health 2.750 2.93 2.730 2.95 100.7% Threads 12 (health.gcc.omp-tasks-manual) health 2.730 2.95 2.723 2.96 100.2% Threads 13 (health.gcc.omp-tasks-manual) health 2.743 2.94 2.730 2.95 100.5% Threads 14 (health.gcc.omp-tasks-manual) health 2.750 2.93 2.753 2.93 99.9% Threads 15 (health.gcc.omp-tasks-manual) health 2.803 2.88 2.767 2.91 101.3% Threads 16 (health.gcc.omp-tasks-manual) health 8.147 0.99 8.113 0.99 100.4% Threads 1 (health.gcc.omp-tasks-manual-tied) health 5.303 1.52 5.293 1.52 100.2% Threads 2 (health.gcc.omp-tasks-manual-tied) health 4.000 2.02 3.983 2.02 100.4% Threads 3 (health.gcc.omp-tasks-manual-tied) health 3.187 2.53 3.180 2.53 100.2% Threads 4 (health.gcc.omp-tasks-manual-tied) health 2.940 2.74 2.863 2.81 102.7% Threads 5 (health.gcc.omp-tasks-manual-tied) health 2.790 2.89 2.763 2.92 101.0% Threads 6 (health.gcc.omp-tasks-manual-tied) health 2.757 2.92 2.740 2.94 100.6% Threads 7 (health.gcc.omp-tasks-manual-tied) health 2.720 2.96 2.707 2.98 100.5% Threads 8 (health.gcc.omp-tasks-manual-tied) health 2.723 2.96 2.703 2.98 100.7% Threads 9 (health.gcc.omp-tasks-manual-tied) health 2.723 2.96 2.730 2.95 99.8% Threads 10 (health.gcc.omp-tasks-manual-tied) health 2.723 2.96 2.710 2.97 100.5% Threads 11 (health.gcc.omp-tasks-manual-tied) health 2.767 2.91 2.720 2.96 101.7% Threads 12 (health.gcc.omp-tasks-manual-tied) health 2.733 2.95 2.720 2.96 100.5% Threads 13 (health.gcc.omp-tasks-manual-tied) health 2.770 2.91 2.727 2.96 101.6% Threads 14 (health.gcc.omp-tasks-manual-tied) health 2.750 2.93 2.740 2.94 100.4% Threads 15 (health.gcc.omp-tasks-manual-tied) health 2.767 2.91 2.747 2.93 100.7% Threads 16 (health.gcc.omp-tasks-manual-tied) health 7.993 1.01 9.660 0.83 82.7% Threads 1 (health.gcc.omp-tasks-if_clause-tied) health 5.193 1.55 5.353 1.51 97.0% Threads 2 (health.gcc.omp-tasks-if_clause-tied) health 3.857 2.09 3.753 2.15 102.8% Threads 3 (health.gcc.omp-tasks-if_clause-tied) health 3.173 2.54 3.190 2.53 99.5% Threads 4 (health.gcc.omp-tasks-if_clause-tied) health 2.903 2.78 2.877 2.80 100.9% Threads 5 (health.gcc.omp-tasks-if_clause-tied) health 2.767 2.91 2.770 2.91 99.9% Threads 6 (health.gcc.omp-tasks-if_clause-tied) health 2.797 2.88 2.797 2.88 100.0% Threads 7 (health.gcc.omp-tasks-if_clause-tied) health 2.713 2.97 2.723 2.96 99.6% Threads 8 (health.gcc.omp-tasks-if_clause-tied) health 2.713 2.97 2.700 2.99 100.5% Threads 9 (health.gcc.omp-tasks-if_clause-tied) health 2.720 2.96 2.747 2.93 99.0% Threads 10 (health.gcc.omp-tasks-if_clause-tied) health 2.720 2.96 2.720 2.96 100.0% Threads 11 (health.gcc.omp-tasks-if_clause-tied) health 2.733 2.95 2.717 2.97 100.6% Threads 12 (health.gcc.omp-tasks-if_clause-tied) health 2.733 2.95 2.720 2.96 100.5% Threads 13 (health.gcc.omp-tasks-if_clause-tied) health 2.740 2.94 2.733 2.95 100.2% Threads 14 (health.gcc.omp-tasks-if_clause-tied) health 2.753 2.93 2.740 2.94 100.5% Threads 15 (health.gcc.omp-tasks-if_clause-tied) health 2.757 2.92 2.750 2.93 100.2% Threads 16 (health.gcc.omp-tasks-if_clause-tied) health 8.667 0.93 8.157 0.99 106.3% Threads 1 (health.gcc.omp-tasks-if_clause-tied) health 5.190 1.55 5.313 1.52 97.7% Threads 2 (health.gcc.omp-tasks-if_clause-tied) health 3.703 2.18 3.873 2.08 95.6% Threads 3 (health.gcc.omp-tasks-if_clause-tied) health 3.160 2.55 3.183 2.53 99.3% Threads 4 (health.gcc.omp-tasks-if_clause-tied) health 2.880 2.80 2.883 2.80 99.9% Threads 5 (health.gcc.omp-tasks-if_clause-tied) health 2.760 2.92 2.763 2.92 99.9% Threads 6 (health.gcc.omp-tasks-if_clause-tied) health 2.747 2.93 2.763 2.92 99.4% Threads 7 (health.gcc.omp-tasks-if_clause-tied) health 2.710 2.97 2.713 2.97 99.9% Threads 8 (health.gcc.omp-tasks-if_clause-tied) health 2.710 2.97 2.703 2.98 100.2% Threads 9 (health.gcc.omp-tasks-if_clause-tied) health 2.720 2.96 2.720 2.96 100.0% Threads 10 (health.gcc.omp-tasks-if_clause-tied) health 2.733 2.95 2.720 2.96 100.5% Threads 11 (health.gcc.omp-tasks-if_clause-tied) health 2.727 2.96 2.730 2.95 99.9% Threads 12 (health.gcc.omp-tasks-if_clause-tied) health 2.747 2.93 2.733 2.95 100.5% Threads 13 (health.gcc.omp-tasks-if_clause-tied) health 2.740 2.94 2.757 2.92 99.4% Threads 14 (health.gcc.omp-tasks-if_clause-tied) health 2.750 2.93 2.740 2.94 100.4% Threads 15 (health.gcc.omp-tasks-if_clause-tied) health 2.770 2.91 2.747 2.93 100.8% Threads 16 (health.gcc.omp-tasks-if_clause-tied)