Содержание
- 2. Лекция 5 2008 Аннотация В лекции рассматриваются коллективные обмены. Среди них – широковещательная рассылка. Обсуждаются операции
- 3. План лекции 2008 Особенности коллективных обменов. Широковещательная рассылка. Операции распределения и сбора данных. Операции приведения. Синхронизация.
- 4. Коллективные обмены 2008
- 5. Коллективные обмены 2008 В операцию коллективного обмена вовлечены не два, а большее число процессов.
- 6. Коллективные обмены 2008 Общая характеристика коллективных обменов: коллективные обмены не могут взаимодействовать с двухточечными. Коллективная передача
- 7. Коллективные обмены 2008 Виды коллективных обменов: широковещательная передача - выполняется от одного процесса ко всем; распределение
- 8. Коллективные обмены 2008 Широковещательная рассылка
- 9. Коллективные обмены 2008 Широковещательная рассылка выполняется подпрограммой: int MPI_Bcast(void *buffer, int count, MPI_Datatype datatype, int root,
- 10. Коллективные обмены 2008 Пример 1 использования широковещательной рассылки #include "mpi.h" #include int main(int argc,char *argv[]) {
- 11. Коллективные обмены 2008 MPI_Bcast(&data, count, MPI_BYTE, 0, MPI_COMM_WORLD); printf("received: %s\n", data); } MPI_Finalize(); return 0; }
- 12. Коллективные обмены 2008 Пример 2 использования широковещательной пересылки #include "mpi.h" #include int main(int argc, char *argv[])
- 13. Коллективные обмены 2008 printf("Enter a, b, n\n"); scanf("%f %f %i", &a, &b, &n); MPI_Bcast(&a, count, MPI_FLOAT,
- 14. Коллективные обмены 2008 Распределение данных int MPI_Scatter(void *sendbuf, int sendcount, MPI_Datatype sendtype, void *rcvbuf, int rcvcount,
- 15. Коллективные обмены 2008 Процесс с рангом root распределяет содержимое буфера передачи sendbuf среди всех процессов. Содержимое
- 16. Коллективные обмены 2008 Сбор данных Сбор данных от остальных процессов в буфер главной задачи выполняется подпрограммой:
- 17. Коллективные обмены 2008 Порядок склейки определяется рангами процессов, то есть в результирующем наборе после данных от
- 18. Коллективные обмены 2008 Сбор данных
- 19. Коллективные обмены 2008 Сбор данных от всех процессов и распределение их всем процессам: int MPI_Allgather(void *sendbuf,
- 20. Коллективные обмены 2008 Блок данных, переданный от j-го процесса, принимается каждым процессом и размещается в j-м
- 21. Коллективные обмены 2008 Операция приведения Операция приведения, результат которой передается одному процессу int MPI_Reduce(void *buf, void
- 22. Коллективные обмены 2008 MPI_Reduce применяет операцию приведения к операндам из buf, а результат каждой операции помещается
- 23. Коллективные обмены 2008 Пример 1 использования операции редукции В этой программе сначала создается подгруппа, состоящая из
- 24. Коллективные обмены 2008 #include "mpi.h" #include int main(int argc,char *argv[]) { int myrank, i; int count
- 25. Коллективные обмены 2008 if(myrank != MPI_UNDEFINED) { MPI_Reduce(&sendbuf, &recvbuf, count, MPI_INT, MPI_SUM, root, subcomm); if(myrank ==
- 26. Коллективные обмены 2008 Предопределенные операции приведения
- 27. Коллективные обмены 2008 Допускается определение собственных операций приведения. Для этого используется подпрограмма: int MPI_Op_create(MPI_User_function *function, int
- 28. Коллективные обмены 2008 Описание типа пользовательской функции выглядит следующим образом: typedef void (MPI_User_function)(void *a, void *b,
- 29. Коллективные обмены 2008 После завершения операций приведения пользовательская функция должна быть удалена. Удаление пользовательской функции выполняется
- 30. Коллективные обмены 2008 Пример использования операции приведения: вычисление числа π методом Монте-Карло. Два файла pi_compute.c и
- 31. Коллективные обмены 2008 srandom (mytid); avepi = 0; for (i = 0; i homepi = dboard(trials);
- 32. Коллективные обмены 2008 #include #define sqr(x) ((x)*(x)) float mc_trials(int trials) { double x_coord, y_coord, pi, r;
- 33. Коллективные обмены 2008 pi = 4.0 * (double)score/(double)trials; return(pi); }
- 34. Коллективные обмены 2008 Операция сканирования Операции сканирования (частичной редукции) выполняются следующей подпрограммой: int MPI_Scan(void *sendbuf, void
- 35. Коллективные обмены 2008 При выполнении операции сканирования в буфере приёма процесса с рангом i будут содержаться
- 36. Коллективные обмены 2008 Векторная операция распределения данных Векторная подпрограмма распределения данных: int MPI_Scatterv(void *sendbuf, int *sendcounts,
- 37. Коллективные обмены 2008 Входные параметры: displs - целочисленный массив, длина которого равна количеству процессов в коммуникаторе.
- 38. Коллективные обмены 2008 Векторная операция сбора данных Сбор данных от всех процессов в заданном коммуникаторе и
- 39. Коллективные обмены 2008 Пересылка данных по схеме «каждый - всем» int MPI_Alltoall(void *sendbuf, int sendcount, MPI_Datatype
- 40. Коллективные обмены 2008 Векторными версиями MPI_Allgather и MPI_Alltoall являются подпрограммы MPI_Allgatherv и MPI_Alltoallv. Векторные операции позволяют
- 41. Коллективные обмены 2008 Синхронизация Синхронизация с помощью «барьера» выполняется с помощью подпрограммы: int MPI_Barrier(MPI_Comm comm) MPI_Barrier(comm,
- 42. 2008 В этой лекции мы рассмотрели: особенности и свойства коллективных обменов; различные операции коллективного обмена –
- 43. 2008 Задания для самостоятельной работы Решения следует высылать по электронной почте: [email protected]
- 44. 2008 Задания для самостоятельной работы Составьте алгоритм и напишите параллельную программу вычисления произведения матрицы на вектор.
- 45. 2008 Задания для самостоятельной работы Напишите параллельную программу вычисления произведения матрицы на матрицу. Используйте ленточную декомпозицию
- 47. Скачать презентацию






















![Коллективные обмены 2008 #include "mpi.h" #include int main(int argc,char *argv[]) { int](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/464286/slide-23.jpg)





















Городской гонкурс плакатов и листовок
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
TV in our life
Презентация на тему Дарвин Чарльз Роберт
ПОЗНАВАТЕЛЬНЫЕ ПСИХИЧЕСКИЕ ПРОЦЕССЫ
Высшие должностные лица субъектов Российской Федерации (руководители высших исполнительных органов государственной власти суб
Фигуры вращения
Тема: «Тайны древних пирамид» Маркова Марина Валерьевна 2009 – 2010 учебный год
Создание общественных фондов развития образовательных округов
Эффективное управление в конфликтной ситуации
Соловецкий монастырь- северное чудо России
Абашевская игрушка
Развитие угольной промышленности Красноярского края в контексте межрегиональной интеграции
Возникновение и эволюция сравнительного менеджмента
ОСНОВНЫЕ ПРИНЦИПЫ ЭНЕРГОСБЕРЕЖЕНИЯ
Подготовка к ЕГЭ Задания А5 Построение предложений с деепричастным оборотом , деепричастием
Презентация на тему Пушные животные России
Целевые кредиты
Дыхание. Органы дыхательной системы. Легкие
The EU Eco-Management and Audit Scheme
Высоцкий. Олицетворенная совесть народа
Понятие маркетинговых коммуникаций: функции и принципы организаци
Функция – это факт или научная теория?
преза эл.help
Ледоход
Энергетик_2021 (22)
Презентация на тему Статистика и математика
Создание энергоблоков на ультрасверхкритические параметры пара