Skip to content

Conversation

@Projectius
Copy link
Contributor

Описание

  • Задача: Передача от одного всем (broadcast)
  • Вариант: 1
  • Технология: SEQ, MPI
  • Описание:
    • Задача: повторить алгоритм передачи данных MPI_Bcast на основе дерева, используя только базовые операции MPI_Recv и MPI_Send

    • SEQ:
      Программа копирует входной массив в выходной

    • MPI:
      Алгоритм основан на k-арном дереве: каждый процесс из своего ранга процесса prank, ранга корня дерева root_prank и количества процессов pcount получает свой ранг в дереве tree_rank = (prank - root_prank + pcount) % pcount. Из тех же данных вычисляются ранги в дереве и ранги процесса у родителя процесса и каждого из от 0 до k детей процесса.
      Сначала процессы ожидают данные от своего родителя (сначала данные о размере массива с помощью MPI_Recv с тегом tag_count, затем сам массив с тегом tag_count). Уже имеющие данные (сначала только корень) отсылают их своим детям через MPI_Send с аналогичными тегами.

    • Отчет содержит детали параллельной схемы и результаты экспериментов.


Чек-лист

  • Статус CI: Все CI-задачи (сборка, тесты, генерация отчёта) успешно проходят на моей ветке в моем форке
  • Директория и именование задачи: Я создал директорию с именем <фамилия>_<первая_буква_имени>_<короткое_название_задачи>
  • Полное описание задачи: Я предоставил полное описание задачи в теле pull request
  • clang-format: Мои изменения успешно проходят clang-format локально в моем форке (нет ошибок форматирования)
  • clang-tidy: Мои изменения успешно проходят clang-tidy локально в моем форке (нет предупреждений/ошибок)
  • Функциональные тесты: Все функциональные тесты успешно проходят локально на моей машине
  • Тесты производительности: Все тесты производительности успешно проходят локально на моей машине
  • Ветка: Я работаю в ветке, названной точно так же, как директория моей задачи (например, nesterov_a_vector_sum), а не в master
  • Правдивое содержание: Я подтверждаю, что все сведения, указанные в этом pull request, являются точными и достоверными

@codecov-commenter
Copy link

Codecov Report

❌ Patch coverage is 90.19608% with 5 lines in your changes missing coverage. Please review.
✅ Project coverage is 15.71%. Comparing base (92b24d3) to head (cf18c1b).
⚠️ Report is 199 commits behind head on master.

Files with missing lines Patch % Lines
...s/konstantinov_s_broadcast/mpi/include/ops_mpi.hpp 0.00% 2 Missing ⚠️
...s/konstantinov_s_broadcast/seq/include/ops_seq.hpp 0.00% 2 Missing ⚠️
tasks/konstantinov_s_broadcast/mpi/src/ops_mpi.cpp 97.22% 0 Missing and 1 partial ⚠️

❗ There is a different number of reports uploaded between BASE (92b24d3) and HEAD (cf18c1b). Click for more details.

HEAD has 18 uploads less than BASE
Flag BASE (92b24d3) HEAD (cf18c1b)
19 1
Additional details and impacted files
@@             Coverage Diff             @@
##           master     #308       +/-   ##
===========================================
- Coverage   94.03%   15.71%   -78.32%     
===========================================
  Files          15      191      +176     
  Lines         486     7247     +6761     
  Branches      181     2799     +2618     
===========================================
+ Hits          457     1139      +682     
- Misses          0     6032     +6032     
- Partials       29       76       +47     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants