Содержание
- 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)





















Почему в лесу нужно соблюдать тишину?
Поэтическая мастерская
Строение Земной коры
Калейдоскоп талантов
Структура, консолідована звітність ПАТ Фармак
Деньги временного правительства
Проект «Наследие нашей малой родины – родник»
Порядок получения патента на объекты промышленной собственности
Мастер-класс по развитию творческих способностей учащихся
Москитные полотно
Структура человеческой психики
Методика формирования физических понятий
Семь жемчужин Египта
Презентация на тему Международная коммерческая сделка,правовое регулирование
Юридическая психология. Викторина
Клуб французского языка
Образ человека, характер одежды в японской культуре. Что вы знаете о Японии?
Крупнейшие державы мира в последней трети XIX-начале XXв
Презентация на тему Спирты (10 класс)
Вакансии педагогических работников
История создания лампы накаливания
С юбилеем Зилара Адисовна
" Горжусь корнями древними своими "
Прыжки в высоту
Глобализация и Кавказ: взгляд с Северного Кавказа
Свободные формы: линии и пятна (8 класс)
Благотворительный пробег New Balance 2011 28 мая 2011г. Главный ботанический сад им. Цицина www.downsideup.org.
Реферат Кутузов