superPrac2 (mpi openmp, mpi cuda) (1186064), страница 2
Текст из файла (страница 2)
(с оптимизациями компилятора «-O3»)
число процессоров | разбиение сетки | время решения (мс) | ускорение | число итераций |
1-omp (x3) | 1000x1000 | 204639 мс = 3:24 | 1 раз | 1416 |
2-omp (x3) | 1000x1000 | 103466 мс = 1:43 | 1.98 раза | 1416 |
128-omp (x3) | 1000x1000 | 2784 мс = 0:2 | 73.51 раза | 1416 |
256-omp (x3) | 1000x1000 | 1988 мс = 0:1 | 102.94 раза | 1416 |
512-omp (x3) | 1000x1000 | 1602 мс = 0:1 | 127.74 раза | 1416 |
1-omp (x3) | 2000x2000 | 1691049 мс = 28:11 | 1 раз | 2828 |
2-omp (x3) | 2000x2000 | 847575 мс = 14:7 | 2 раза | 2828 |
128-omp (x3) | 2000x2000 | 15670 мс = 0:15 | 107.92 раза | 2828 |
256-omp (x3) | 2000x2000 | 8821 мс = 0:8 | 191.71 раза | 2828 |
512-omp (x3) | 2000x2000 | 5541 мс = 0:5 | 305.19 раз | 2828 |
BlueGene/P (mpi + openmp (режим openmp использовался с 3-мя нитями на 4-х ядерном процессоре))
(без оптимизаций компилятора «-O3»)
число процессоров | разбиение сетки | время решения (мс) | ускорение | число итераций |
1-omp | 1000x1000 | 262765 мс = 4:22 | 1 раз | 1416 |
2-omp | 1000x1000 | 132624 мс = 2:12 | 1.98 раза | 1416 |
128-omp | 1000x1000 | 4880 мс = 0:4 | 53.85 раза | 1416 |
256-omp | 1000x1000 | 3029 мс = 0:3 | 86.75 раза | 1416 |
512-omp | 1000x1000 | 2100 мс = 0:2 | 125.13 раз | 1416 |
1-omp | 2000x2000 | 2137275 мс = 35:37 | 1 раз | 2828 |
2-omp | 2000x2000 | 1070854 мс = 17:50 | 2.00 раза | 2828 |
128-omp | 2000x2000 | 31682 мс = 0:31 | 67.46 раза | 2828 |
256-omp | 2000x2000 | 16936 мс = 0:16 | 126.20 раз | 2828 |
512-omp | 2000x2000 | 9653 мс = 0:9 | 221.41 раз | 2828 |
Lomonosov (без оптимизаций компилятора «-O3»)
число процессоров | разбиение сетки | время решения (мс) | ускорение | число итераций |
1 | 1000x1000 | 309562 мс = 5:9 | 1 раз | 1416 |
8 | 1000x1000 | 39096 мс = 0:39 | 7.92 раза | 1416 |
16 | 1000x1000 | 19487 мс = 0:19 | 15.89 раза | 1416 |
32 | 1000x1000 | 9797 мс = 0:9 | 31.60 раз | 1416 |
64 | 1000x1000 | 5027 мс = 0:5 | 61.58 разa | 1416 |
128 | 1000x1000 | 2667 мс = 0:2 | 116.07 разa | 1416 |
1 | 2000x2000 | 2470405 мс = 41:10 | 1 раз | 2828 |
8 | 2000x2000 | 311965 мс = 5:11 | 7.92 раза | 2828 |
16 | 2000x2000 | 156656 мс = 2:36 | 15.77 раза | 2828 |
32 | 2000x2000 | 78854 мс = 1:18 | 31.33 раза | 2828 |
64 | 2000x2000 | 39334 мс = 0:39 | 62.81 раза | 2828 |
128 | 2000x2000 | 19924 мс = 0:19 | 124.00 раза | 2828 |
Lomonosov, CUDA (без оптимизаций компилятора «-O3»)
число процессоров | разбиение сетки | время решения (мс) | ускорение | число итераций |
1 | 1000x1000 | 7721 мс = 0:7 | 1 раз | 1416 |
8 | 1000x1000 | 4920 мс = 0:4 | 1.57 раза | 1416 |
16 | 1000x1000 | 5368 мс = 0:5 | 1.44 раза | 1416 |
32 | 1000x1000 | 5806 мс = 0:5 | 1.33 раза | 1416 |
1 | 2000x2000 | 56059 мс = 0:56 | 1 раз | 2828 |
8 | 2000x2000 | 13778 мс = 0:13 | 4.07 раза | 2828 |
16 | 2000x2000 | 12316 мс = 0:12 | 4.55 раза | 2828 |
32 | 2000x2000 | 11799 мс = 0:11 | 4.75 раза | 2828 |
Lomonosov, CUDA (c оптимизациями компилятора «-O3»)
число процессоров | разбиение сетки | время решения (мс) | ускорение | число итераций |
1 | 1000x1000 | 6161 мс = 0:6 | 1 раз | 1416 |
2 | 1000x1000 | 3496 мс = 0:3 | 1.76 раза | 1416 |
3 | 1000x1000 | 2575 мс = 0:2 | 2.39 раза | 1416 |
4 | 1000x1000 | 2116 мс = 0:2 | 2.91 раза | 1416 |
5 | 1000x1000 | 1837 мс = 0:1 | 3.35 раза | 1416 |
6 | 1000x1000 | 1774 мс = 0:1 | 3.47 раза | 1416 |
7 | 1000x1000 | 1603 мс = 0:1 | 3.8434 раза | 1416 |
8 | 1000x1000 | 1605 мс = 0:1 | 3.8386 раза | 1416 |
1 | 2000x2000 | 47668 мс = 0:47 | 1 раз | 2828 |
2 | 2000x2000 | 24922 мс = 0:24 | 1.91 раза | 2828 |
3 | 2000x2000 | 17368 мс = 0:17 | 2.74 раза | 2828 |
4 | 2000x2000 | 13156 мс = 0:13 | 3.62 раза | 2828 |
5 | 2000x2000 | 10884 мс = 0:10 | 4.38 раза | 2828 |
6 | 2000x2000 | 9287 мс = 0:9 | 5.13 раза | 2828 |
7 | 2000x2000 | 8193 мс = 0:8 | 5.82 раза | 2828 |
8 | 2000x2000 | 7135 мс = 0:7 | 6.68 раза | 2828 |
9 | 2000x2000 | 6653 мс = 0:6 | 7.16 раз | 2828 |
10 | 2000x2000 | 6195 мс = 0:6 | 7.69 раз | 2828 |
11 | 2000x2000 | 5749 мс = 0:5 | 8.29 раз | 2828 |
12 | 2000x2000 | 5393 мс = 0:5 | 8.84 раза | 2828 |
13 | 2000x2000 | 5131 мс = 0:5 | 9.29 раз | 2828 |
14 | 2000x2000 | 5112 мс = 0:5 | 9.32 раза | 2828 |
15 | 2000x2000 | 4904 мс = 0:4 | 9.72 раза | 2828 |
16 | 2000x2000 | 4495 мс = 0:4 | 10.60 раз | 2828 |
1 | 5000x5000 | 780712 мс = 13:0 | 1 раз | 7047 |
2 | 5000x5000 | 405896 мс = 6:45 | 1.92 раза | 7047 |
3 | 5000x5000 | 274721 мс = 4:34 | 2.84 раза | 7047 |
4 | 5000x5000 | 197794 мс = 3:17 | 3.94 раза | 7047 |
5 | 5000x5000 | 164090 мс = 2:44 | 4.76 раза | 7047 |
6 | 5000x5000 | 131887 мс = 2:11 | 5.92 раза | 7047 |
7 | 5000x5000 | 117093 мс = 1:57 | 6.67 раз | 7047 |
8 | 5000x5000 | 98859 мс = 1:38 | 7.90 раз | 7047 |
15 | 5000x5000 | 53185 мс = 0:53 | 14.68 раз | 7047 |
16 | 5000x5000 | 50254 мс = 0:50 | 15.54 раза | 7047 |
-
Выводы из численных результатов
Эффективность на BlueGene в случае отключённых оптимизаций компилятора – мала и падает буквально в 2 раза, хоть и линейна, это проявляется только для данного суперкомпьютера и только при отключённых оптимизациях g++. Причина такого поведения не ясна и скорее всего как-то завязана на архитектуру данного суперкомпьютера и компилятора.