Отчёт по практической работы
Download 4.19 Kb.
|
- Bu sahifa navigatsiya:
- Отчёт по практической работы № 1
МИНИСТЕРСТВО ЦИФРОВЫХ ТЕХНОЛОГИЙ РЕСПУБЛИКИ УЗБЕКИСТАН ТАШКЕНТСКИЙ УНИВЕРСИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ ИМЕНИ МУХАММАДА АЛ-ХОРАЗМИЙ ФАКУЛЬТЕТ КОМПЬЮТЕРНОГО ИНЖИНИРИНГА Отчёт по практической работы №1 Группа: 221-20 Выполнил: Зайнетдинов Марсель ТАШКЕНТ 2023 ПРАКТИЧЕСКАЯ РАБОТА №1 Тема: Основы MPI: Простейшая тестовая программка Цель работы: Написать простую параллельную программу с использованием MPI, которая вычисляет сумму квадратов чисел от 1 до N, где N - это число, передаваемое в программу в качестве аргумента командной строки. from mpi4py import MPI import sys # Инициализация MPI comm = MPI.COMM_WORLD rank = comm.Get_rank() size = comm.Get_size() # Проверка на количество аргументов командной строки if len(sys.argv) != 2: if rank == 0: print("Использование: python mpi_sum_of_squares.py <число>") MPI.Finalize() sys.exit(1) # Получение числа из аргумента командной строки try: n = int(sys.argv[1]) except ValueError: if rank == 0: print("Ошибка: Аргумент командной строки должен быть целым числом.") MPI.Finalize() sys.exit(1) # Разделение интервала между процессами interval_size = n // size start = rank * interval_size + 1 end = (rank + 1) * interval_size if rank < size - 1 else n # Вычисление суммы квадратов чисел внутри каждого процесса local_sum = sum(i ** 2 for i in range(start, end + 1)) # Сбор результатов с каждого процесса total_sum = comm.reduce(local_sum, op=MPI.SUM, root=0) # Вывод результата на главном процессе if rank == 0: print(f"Сумма квадратов чисел от 1 до {n} равна {total_sum}") # Завершение выполнения MPI MPI.Finalize() Этот код выполняет инициализацию MPI, разделяет интервал между процессами, вычисляет сумму квадратов чисел внутри каждого процесса, собирает результаты и выводит общую сумму на главном процессе. Код также правильно обрабатывает разное количество процессов и произвольные значения числа n. Download 4.19 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling