Фролова Софья. Технология SEQ-MPI. Сумма элементов матрицы. Вариант 10.#72
Conversation
Codecov Report❌ Patch coverage is
❌ Your patch status has failed because the patch coverage (89.47%) is below the target coverage (95.00%). You can increase the patch coverage or adjust the target coverage.
Additional details and impacted files@@ Coverage Diff @@
## master #72 +/- ##
===========================================
- Coverage 94.03% 13.59% -80.44%
===========================================
Files 15 186 +171
Lines 486 7030 +6544
Branches 181 2725 +2544
===========================================
+ Hits 457 956 +499
- Misses 0 6018 +6018
- Partials 29 56 +27 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
| set(CMAKE_EXPORT_COMPILE_COMMANDS ON) | ||
|
|
There was a problem hiding this comment.
Please, do not modify common files.
| return true; | ||
| } | ||
|
|
||
| bool FrolovaSSumElemMatrixMPI::RunImpl() { |
There was a problem hiding this comment.
You should split the data on the rank 0 and send only the pieces of data to other ranks
| #ifdef __GNUC__ | ||
| # pragma GCC diagnostic push | ||
| # pragma GCC diagnostic ignored "-Wnull-dereference" | ||
| #endif |
There was a problem hiding this comment.
what was the reason for that?
There was a problem hiding this comment.
Без этих строчек в моем случае возникает ошибки, причем не в коде, а в реализации std::vector из стандартной библиотеки
| #ifdef __GNUC__ | ||
| # pragma GCC diagnostic push | ||
| # pragma GCC diagnostic ignored "-Wnull-dereference" | ||
| #endif |
There was a problem hiding this comment.
Same, what was the reason for this change ?
| | 1000×1000 | 4 | 0.035 | 0.018 | 1.94× | | ||
| | 1000×1000 | 2 | 0.035 | 0.024 | 1.45× | | ||
| | 1000×1000 | 1 | 0.035 | 0.035 | 1.00× | |
There was a problem hiding this comment.
просьба провести эксперимент еще для одной размерности матрицы (к примеру 2000х2000)
fix validation
Описание:
Задача: Подсчёт суммы элементов матрицы.
Вариант: 10
Технология: SEQ-MPI
Описание:
MPI:
Вычисляем базовое количество строк на процесс, а остаток строк распределяем по одному на первые процессы. Каждый процесс получает свой диапазон строк. Используем локальное суммирование - каждый процесс суммирует элементы в своих строках. Далее все локальные суммы собираются на процессе 0, происходит их суммирование, и
процесс номер 0 записывает финальную сумму в выходные данные.
SEQ:
Проходим по каждой строке матрицы, вычисляем ее сумму и накапливаем все суммы строк.
Чек-лист
Статус CI: Все CI-задачи (сборка, тесты, генерация отчёта) успешно проходят на моей ветке в моем форке;
Директория и именование задачи: Я создала директорию с именем <фамилия><первая_буква_имени><короткое_название_задачи>;
Полное описание задачи: Полное описание задачи находится в теле pull request;
clang-format: Мои изменения успешно проходят clang-format локально в моем форке;
clang-tidy: Мои изменения успешно проходят clang-tidy локально в моем форке;
Функциональные тесты: Все функциональные тесты успешно проходят локально на моей машине;
Тесты производительности: Все тесты производительности успешно проходят локально на моей машине;
Ветка: Я работаю в ветке, названной точно так же, как директория моей задачи, а именно frolova_s_sum_elem_matrix;
Правдивое содержание: Я подтверждаю, что информация, указанная в этом pull request, является точной и достоверной.