Файл: Отчет представлен к рассмотрению Студент группы икбо21 мая 2023.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.02.2024
Просмотров: 57
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
МИНОБРНАУКИ РОССИИ |
Федеральное государственное бюджетное образовательное учреждение высшего образования «МИРЭА Российский технологический университет» РТУ МИРЭА |
Институт информационных технологий (ИИТ)
Кафедра инструментального и прикладного программного обеспечения (ИиППО)
ОТЧЁТ ПО УЧЕБНОЙ ПРАКТИКЕ
Ознакомительная практика
приказ Университета о направлении на практику от «09» февраля 2023 г. № 663-С
Отчет представлен к рассмотрению: Студент группы ИКБО-??-21 | «__» мая 2023 | (подпись и расшифровка подписи) |
Отчет утвержден. Допущен к защите: | | |
Руководитель практики от кафедры | «__» мая 2023 | (подпись и расшифровка подписи) |
Москва 2023 г.
МИНОБРНАУКИ РОССИИ |
Федеральное государственное бюджетное образовательное учреждение высшего образования «МИРЭА Российский технологический университет» РТУ МИРЭА |
Институт информационных технологий (ИИТ)
Кафедра инструментального и прикладного программного обеспечения (ИиППО)
ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ НА УЧЕБНУЮ ПРАКТИКУ
Ознакомительная практика
Студенту 1 курса учебной группы ИКБО-??-21
Иванову Ивану Ивановичу
Место и время практики:
РТУ МИРЭА кафедра ИиППО, с 09 февраля 2023 г. по 31 мая 2023 г.
Должность на практике: студент
1. СОДЕРЖАНИЕ ПРАКТИКИ:
1.1. Изучить: средства реализация параллельных вычислений в языке программирования Python
1.2. Практически выполнить: разработать алгоритм нахождения определённого интеграла методом Монте-Карло с использованием параллельных вычислений на языке программирования Python
1.3. Ознакомиться: с библиотеками, позволяющими организовать параллельные вычисления в языке программирования Python
2. ДОПОЛНИТЕЛЬНОЕ ЗАДАНИЕ: подготовить доклад на научно-техническую конференцию студентов и аспирантов РТУ МИРЭА, подготовить презентационный материал
3. ОРГАНИЗАЦИОННО-МЕТОДИЧЕСКИЕ УКАЗАНИЯ: в процессе практики рекомендуется использовать периодические издания и отраслевую литературу годом издания не старше 5 лет от даты начала прохождения практики
Руководитель практики от кафедры «09» февраля 2023 г. | Подпись | (Фамилия (РУКОВОДИТЕЛЯ) А.А.) | |
Задание получил | | | |
«09» февраля 2023 г. | | Подпись | (Иванов И.И.) |
СОГЛАСОВАНО: | | | | ||
Заведующий кафедрой: | |||||
«09» февраля 2023 г. | Подпись | (Болбаков Р.Г.) | |||
Проведенные инструктажи: | | | |||
Охрана труда: | | «09» февраля 2023 г. | |||
Инструктирующий | Подпись | Болбаков Р.Г., зав. каф. ИиППО | |||
Инструктируемый | Подпись | Иванов И.И. | |||
| | | |||
Техника безопасности: | | «09» февраля 2023 г. | |||
Инструктирующий | Подпись | Болбаков Р.Г., зав. каф. ИиППО | |||
Инструктируемый | Подпись | Иванов И.И. | |||
| | | |||
Пожарная безопасность: | | «09» февраля 2023 г. | |||
Инструктирующий | Подпись | Болбаков Р.Г., зав. каф. ИиППО | |||
Инструктируемый | Подпись | Иванов И.И. | |||
| | ||||
С правилами внутреннего распорядка ознакомлен: | «09» февраля 2023 г. | ||||
| Подпись | Иванов И.И. |
МИНОБРНАУКИ РОССИИ |
Федеральное государственное бюджетное образовательное учреждение высшего образования «МИРЭА Российский технологический университет» РТУ МИРЭА |
РАБОЧИЙ ГРАФИК ПРОВЕДЕНИЯ
ОЗНАКОМИТЕЛЬНОЙ ПРАКТИКИ
студента Иванова И.И. 1 курса группы ИКБО-??-21 очной формы обучения, обучающегося по направлению подготовки 09.03.04 Программная инженерия
Неделя | Сроки выполнения | Этап | Отметка о выполнении |
1 | 09.02.2023 | Подготовительный этап, включающий в себя организационное собрание (вводная лекция о порядке организации и прохождении учебной практики, инструктаж по технике безопасности, получение задания на практику) | |
2 | 14.02.2023 | Подготовительный этап (участие в круглом столе на тему «Проблема достоверности информации в современном мире») | |
3 | 21.02.2023 | Подготовительный этап (участие в круглом столе на тему «Информационно-коммуникационные технологии для организации информационного процесса») | |
4 | 28.02.2023 | Подготовительный этап (участие в круглом столе на тему «Информационная и библиографическая культура») | |
6 | 14.03.2023 | Исследовательский этап (поиск, отбор и анализ материалов для выполнения задания по практике) | |
8 | 28.03.2023 | Представление руководителю (в составе бригады) структурированного материала: аналитический обзор предметной области | |
10 | 11.04.2023 | Технологический этап (разработка программного кода алгоритма нахождения определённого интеграла методом Монте-Карло) | |
14 | 11.05.2023 | Представление руководителю (в составе бригады) разработанного программного кода алгоритма нахождения определённого интеграла методом Монте-Карло и результаты анализа механизмов организации параллельных вычислений) | |
14 | 11.05.2023 | Согласование с руководителем доклада на научно-техническую конференцию студентов и аспирантов РТУ МИРЭА | |
16 | 31.05.2023 | Подготовка окончательной версии отчета и программного кода алгоритма нахождения определённого интеграла методом Монте-Карло (оформление материалов отчета в полном соответствии с требованиями на оформление письменных учебных работ студентов) | |
Руководитель практики от
кафедры _________________/Фамилия (РУКОВОДИТЕЛЯ) А.А., ассистент/
Обучающийся _________________/Иванов И.И./
Согласовано:
Заведующий кафедрой _________________/Болбаков Р.Г., к.т.н., доцент/
РЕФЕРАТ
Отчет 25 c., 4 рис., 8 листингов, 2 формулы, 3 табл., 3 источн., 1 прил.
ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ В PYTHON, МНОГОПОТОЧНОСТЬ, МНОГОПРОЦЕССОРНОСТЬ, ИНТЕГРИРОВАНИЕ МЕТОДОМ МОНТЕ-КАРЛО, КВАЗИ-МОНТЕ-КАРЛО
Объектом исследования являются средства реализации параллельных вычислений в языке программирования Python.
Цель работы – сравнение способов реализации параллельных вычислений и анализ их эффективности.
В процессе работы проводилось изучение особенностей отдельных инструментов организации параллельных вычислений в языке Python.
В результате работы был разработан программный код, выполняющий вычисление определенного интеграла методом Монте-Карло с помощью параллельных вычислений.
Область применения результатов: разработка программ с использованием параллельных вычислений.
СОДЕРЖАНИ
ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ 6
ВВЕДЕНИЕ 7
1 Параллельные вычисления в языке программирования Python 8
1.1 Параллелизм на основе потоков 9
1.2 Параллелизм на основе процессов 11
2 Алгоритм нахождения определенного интеграла методом Монте-Карло 15
3 Разработка программного кода 17
3.1 Ввод функции с клавиатуры 17
3.2 Использование квазислучайных чисел 18
4 Тестирование и анализ эффективности 20
ЗАКЛЮЧЕНИЕ 22
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 23
ПРИЛОЖЕНИЕ А Разработанный программный код 24
ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ
В настоящем отчете применяются следующие термины с соответствующими определениями.
Модуль в Python — файл с кодом. Во время исполнения представлен соответствующим объектов
Потокобезопасность концепция программирования, применимая к многопоточным программам. Гарантирует, что при использовании кода из нескольких потоков он будет вести себя, как предполагается
Интерфейс — совокупность программных инструментов, определяющих взаимодействие между элементами системы
Планировщик — часть операционной системы, отвечающая за организацию работы параллельных потоков и процессов
Hyper-Threading технология, разработанная компанией Intel. Реализует идею разделения одного физического ядра на два логических ядра
ВВЕДЕНИЕ
Параллельные вычисления – это одновременное использование множества вычислительных ресурсов для выполнения программы. Такой способ организации вычислений позволяет разбивать задачу на дискретные части, которые могут обрабатываться одновременно, причем каждому процессу может быть выделено своё вычислительное устройство.
Для представления параллельного программирования был выбран один из наиболее популярных языков программирования – Python. В данный момент этот язык постоянно применяется не только разработчиками веб-приложений и настольных систем, но и специалистами в области данных и машинного обучения. Важной особенностью Python является большое количество доступных библиотек для научных вычислений. Он используется для прикладных вычислений в математике, физике, экономике и т.д.
В качестве задачи, которую необходимо реализовать, мы берём нахождение определенного интеграла методом Монте-Карло. В основе этого метода лежит моделирование случайных величин. На примере генерации большого количества случайных чисел мы сможем оценить эффективность параллельных процессов.
1 Параллельные вычисления в языке программирования Python
Python предоставляет множество библиотек, которые служат для удобства высокопроизводительных вычислений. В документации Python описываются следующие модули для параллельного исполнения, входящие в стандартную библиотеку языка:
-
threading — параллелизм на основе потоков, -
multiprocessing — параллелизм на основе процессов, -
multiprocessing.shared_memory — модуль, обеспечивающий общую память для прямого доступа между процессами, -
concurrent.futures – высокоуровневый интерфейс для асинхронного выполнения вызываемых объектов, -
subprocess — модуль управления подпроцессами, -
sched — планировщик событий, -
queue — очереди с несколькими производителями и несколькими потребителями, -
contextvars — модуль для работы с контекстными переменными, -
_thread — низкоуровневый интерфейс для работы с потоками.