Page 38 - 6601
P. 38
Для використання буферизованого режиму передачі
повинен бути створений і переданий MPI буфер пам'яті для
буферизації повідомлень, що реалізується функцією:
int MPI_Buffer_attach(void *buf, int size)
де
- buf – буфер пам'яті для буферизації повідомлень
- size – розмір буфера.
Після завершення роботи з буфером він повинен бути
відключений від MPI за допомогою функції:
int MPI_Buffer_detach(void *buf,int *size).
Слід відзначити, що для функції прийому MPI_Recv не існує
різних режимів роботи.
4.2 Завдання для виконання роботи
Задано одномірний масив А і, де 0≤i≤10000
відповідно до варіанту (табл.5.1). Необхідно написати програму,
орієнтовану на 4 процеси, яка виконує:
- генерацію вектора А і в процесі 0;
- передавання відповідної частини вектора кожному
процесу з використанням функцій блокуючого обміну в
чотирьох режимах. Передавання виконувати двома
способами: по 10 чисел в повідомленні і по 500 чисел в
повідомленні.
- оцінку часу виконання передавання в кожному режимі
для блокуючого обміну по 10 чисел і по 500 чисел (2
часи для кожної з функцій).
Табл. 5.1.
Варіант 1 2 3
А і i cos(i ) 2 sin(i ) i 2 3 i 2
3 5 ( i ) 1 i 1
36