Тема: Аспекты реализации параллельных алгоритмов
Характеристики работы
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
1. Теоретические аспекты использования GPU в массивно-параллельной архитектуре 5
1.1 Массивно-параллельная архитектура 5
1.2 Архитектура GPU и ее использование в массивно-параллельной
архитектуре 7
1.3 Архитектура GPU в сравнении с CPU 14
1.4 NVidia CUDA и ее применение 17
1.5 Архитектура CUDA 18
1.6 Типы памяти в CUDA 22
1.7 OpenGl и ее взаимосвязь с CUDA 28
2. Программирование CUDA 30
3. Реализация алгоритма синусоиды 32
4. Описание функций для создания синусоиды 33
5. Полученные результаты 41
Заключение 44
Список использованной литературы 46
Приложение А
📖 Введение
Но в настоящее время практически каждый персональный компьютер оснащен отдельными видеокартами. Именно они и стали решением проблемы обработки трудоемких вычислительных задач. Графические процессоры спроектированы так, чтобы обрабатывать огромные объемы данных за приемлемое время. На настоящий момент они способны обеспечить производительность, оцениваемую сотнями и тысячами гигафлоп.
Целью данной работы является рассмотрение аспектов реализации параллельных алгоритмов, практическое применение их в GPU в массивно-параллельной архитектуре. Также реализация алгоритма графического 3
отображения «синусоиды» посредством CUDA [1] и OpenGl [2] для ускорения работы видеокарты путем распараллеливания, то есть использование графических процессоров GPU самой видеокарты
✅ Заключение
Были изучены теоретические аспекты, связанные с использованием GPU в массивно-параллельной архитектуре. Проведено сравнение архитектур GPU и CPU. Вышеперечисленное доказывает, что, применение CUDA довольно хорошо сокращает время обработки данных больших размерностей.
С использованием данной технологии CUDA был реализован алгоритм синусоиды:
1. Создание пустого объекта буфера вершин (VBO)
2. Регистрация объекта буфера (VBO)
3. Связывание объекта буфера (VBO) в память Cuda
4. Запуск ядра Cuda для изменения позиции вершин.
5. Выгрузка объекта буфера (VBO) из памяти Cuda
6. Представление результатов вычисления, используя OpenGL.
Подводя итог данной работы, можно отметить, что графический процессор, обладая большим вычислительным потенциалом, однако по- прежнему не может полностью заменить работу центрального процессора, являющегося универсальным вычислительным средством. Он имеет возможность облегчить загрузку CPU, взяв на себя операции, представляющие собой наиболее трудоемкие и сложные вычисления. Но сейчас видеочипы движутся постепенно в сторону CPU, становясь все более универсальными, как и CPU становятся все более «параллельными», увеличивая количество ядер, используя многопоточность. Возможно, GPU и CPU в будущем просто сольются. Известно, что многие компании, в том числе Intel и AMD работают над подобными проектами. Но на данном этапе наиболее актуальной для объемных вычислений остается, и будет становиться все более популярной технология GPGPU.
В данной работе, к сожалению, из-за нехватки времени не удалось провести анализ скорости выполнения алгоритма «синусоиды» с использованием параллелизма и без. В связи с этим отсутствует наглядность использования процессоров GPU для ускорения работы видеокарты путем распараллеливания.
На сегодняшний день о CUDA можно говорить, как о весьма удачно нашедшей свое применение перспективной технологии, поддержка которой уже давно не роскошь, а напротив - весьма затруднительно будет найти чипсет, который бы ее не поддерживал.
Исходные тексты программной реализации алгоритма графического представления «синусоиды» прилагаются на компакт-диске.



