-
Notifications
You must be signed in to change notification settings - Fork 78
Гонозов Леонид. Технология SEQ|MPI. Сумма элементов вектора. Вариант 1 #98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #98 +/- ##
==========================================
+ Coverage 94.03% 94.58% +0.55%
==========================================
Files 15 17 +2
Lines 486 536 +50
Branches 181 199 +18
==========================================
+ Hits 457 507 +50
Partials 29 29 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please, remove unused files
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Убрал
| @@ -0,0 +1,139 @@ | |||
| # Подсчёт числа слов в строке | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Topic mismatch
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Исправил
|
|
||
| bool GonozovLElemVecSumSEQ::ValidationImpl() { | ||
| return true; | ||
| // return static_cast<int>(GetInput().size()) > 0 && GetOutput() == 0.0;; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why this was commented out?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Исправил, использую вариант, который был закомментирован
| | Mode | Count | Time, s | Speedup | Efficiency | | ||
| | ---- | ----- | -------- | ------- | ---------- | | ||
| | seq | 1 | 0.000241 | 1.00 | N/A | | ||
| | omp | 2 | 0.000421 | 0.572 | 28.6% | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
omp?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Исправил, должно быть mpi
| | omp | 8 | - | - | - | | ||
|
|
||
| - Накладные расходы коммуникации полностью перекрывают выигрыш от распараллеливания | ||
| - В тесте 3 при 8 потоках накладных расходов настолько много, что это приводит к падению программы |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you sure this data is anyhow related to what you have implemented? We don't have threads
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Неточность исправлена, имелась в виду работа с процессами
Описание
SEQ: C помощью std::accumulate полностью проходим по элементам вектора и суммируем их
MPI: Исходный вектор разбивается на части и рассылается по всем процессам с использованием MPI_Scatterv. Далее на каждом из процессов происходит суммирование выделенной процессу части исходного вектора. Конечный результат суммируется и рассылается по всем процессам с помощью MPI_Allreduce.
Чек-лист
<фамилия>_<первая_буква_имени>_<короткое_название_задачи>clang-formatлокально в моем форке (нет ошибок форматирования)clang-tidyлокально в моем форке (нет предупреждений/ошибок)nesterov_a_vector_sum), а не вmaster