Программирование графических процессоров Лабораторная 3

Состав работы

material.view.file_icon
material.view.file_icon
material.view.file_icon kernel.cu
material.view.file_icon Lab3.exe
material.view.file_icon Документ Microsoft Word.docx
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
  • Microsoft Word

Описание

Выполнение лабораторной работы поможет получить навыки требующиеся для выполнения третьего задания контрольной работы.
Задание
1. Прочитайте главы теоретического материала под названиями "Pinned memory" и "Потоки (streams) в CUDA". Ответьте на контрольные вопросы в конце глав (ответы на контрольные вопросы не нужно включать в отчёт по лабораторной работе).
2. Примените потоки для алгоритмов реализованные в лабораторной работе №1.
3. Определите оптимальное количество потоков для матрицы размером 2500x2500 элементов и вектора размером 2500 элементов.
Методические указания
Для выполнения лабораторной работы требуется модифицировать код, выполняемый на хосте таким образом, чтобы данные передавались на устройство частями асинхронно, после этого выполнялось функция-ядро над переданной частью, после завершения вычислений часть ответа асинхронно должна копироваться на хост.
На хосте создайте и проинициализируйте матрицу и вектор, которые будут умножаться. Затем выделите память на хосте под результирующий вектор и проинициализируйте его нулями. Выделите память под матрицу и вектора на устройстве, создайте нужное количество потоков (начните с двух потоков).
Теперь нужно определиться какие части данных передавать в каждый поток. Разделение нужно произвести таким образом, чтобы результатом работы функции-ядра была часть конечного результата, не требующая дальнейшей обработки. В таком случае имеет смысл в каждом потоке передавать на устройство часть строк матрицы, а вектор передать сразу полностью, потому что для вычислений, каждой нитью используется одна строка из матрицы и вектор. Результатом работы нити будет один элемент результирующего вектора.
Для того чтобы определить размер порции данных нужно количество строк матрицы поделить на количество потоков, и результат умножить на длину строки. После этого полностью скопируйте значения вектора на устройство. И для каждого потока асинхронно скопируйте часть данных на устройство, используя функцию cudaMemcpyAsync, запустите вычисления над порцией данных, асинхронно скопируйте результат на хост. В конце синхронизируйте все потоки вызовом функции cudaDeviceSynchronize() – эта функция будет ожидать завершения всех запущенных потоков.
Проведите исследование зависимости времени работы алгоритма от количества потоков. Начните с двух потоков и увеличивайте их количество до тех пор, пока время, затраченное на вычисления, не перестанет уменьшаться. Замеры времени следует проводить, включая асинхронные пересылки данных.

Дополнительная информация

зачет
Программирование графических процессоров. Лабораторная работа №3
Тема: Работа с потоками CUDA Задание 1. Прочитайте главы теоретического материала под названиями "Pinned memory" и "Потоки (streams) в CUDA". Ответьте на контрольные вопросы в конце глав (ответы на контрольные вопросы не нужно включать в отчёт по лабораторной работе). 2. Примените потоки для алгоритмов реализованные в лабораторной работе №1. 3. Определите оптимальное количество потоков для матрицы размером 2500x2500 элементов и вектора размером 2500 элементов.
User pleze : 20 марта 2022
300 руб.
Программирование графических процессоров. Лабораторная работа №3. Вариант общий
Лабораторная работа №3 по курсу «Программирование графических процессоров» на тему «Работа с потоками CUDA» Выполнение лабораторной работы поможет получить навыки требующиеся для выполнения третьего задания контрольной работы. Задание 1. Прочитайте главы теоретического материала под названиями "Pinned memory" и "Потоки (streams) в CUDA". Ответьте на контрольные вопросы в конце глав (ответы на контрольные вопросы не нужно включать в отчёт по лабораторной работе). 2. Примените потоки для алгори
User Damovoy : 25 апреля 2021
500 руб.
Лабораторные работы №1-3 по курсу «Программирование графических процессоров»
Лабораторная работа №1 по курсу «Программирование графических процессоров» на тему «Работа с глобальной памятью» Задание 1. Прочитайте главы теоретического материала под названиями "Отличия GPU от CPU", "Первая программа на CUDAC", "Алгоритм сложения двух векторов на GPU", "События, обработка ошибок и получение информации об устройстве", "Глобальная, локальная и константная память". Ответьте на контрольные вопросы и выполните контрольные за-дания, предложенные в конце этих глав (ответы на кон
User Леший : 23 апреля 2022
777 руб.
Лабораторные работы №№1-3 по дисциплине: Программирование графических процессоров
Лабораторная работа 1 Задание 1. Прочитайте главы теоретического материала под названиями "Отличия GPU от CPU", "Первая программа на CUDAC", "Алгоритм сложения двух векторов на GPU", "События, обработка ошибок и получение ин-формации об устройстве", "Глобальная, локальная и константная память". Ответьте на контрольные вопросы и выполните контрольные задания, предложенные в конце этих глав (ответы на контрольные вопросы не нужно включать в отчёт по лабораторной работе). 2. Реализуйте параллельны
User IT-STUDHELP : 3 декабря 2021
900 руб.
promo
Лабораторная работа 3 Программирование графических процессоров Все варианты 2023 год
2023 год СибГУТИ Сибирский государственный университет телекоммуникаций и информатики Милешко Антон Владимирович Тема: Лабораторная работа 3 Программирование графических процессоров Все варианты 2023 год Задания Лабораторная работа №3 по курсу «Программирование графических процессоров» на тему «Работа с потоками CUDA» Выполнение лабораторной работы поможет получить навыки требующиеся для выполнения третьего задания контрольной работы. Задание 1. Прочитайте главы теоретического материала под на
User SibSUTTI : 1 сентября 2023
198 руб.
promo
Лабораторные работы №1-3 по дисциплине: Программирование графических процессоров. Вариант общий
Лабораторная работа №1 «Работа с глобальной памятью» Задание лабораторной работы 1. Прочитайте главы теоретического материала под названиями "Отличия GPU от CPU", "Первая программа на CUDAC", "Алгоритм сложения двух векторов на GPU", "События, обработка ошибок и получение информации об устройстве", "Глобальная, локальная и константная память". Ответьте на контрольные вопросы и выполните контрольные задания, предложенные в конце этих глав (ответы на контрольные вопросы не нужно включать в отчёт
User Roma967 : 20 июля 2024
900 руб.
promo
Лабораторные работы №1-3 по курсу «Программирование графических процессоров». Вариант общий
Лабораторная работа №1 по курсу «Программирование графических процессоров» на тему «Работа с глобальной памятью» Задание Задание 1. Прочитайте главы теоретического материала под названиями "Отличия GPU от CPU", "Первая программа на CUDA C", "Алгоритм сложения двух векторов на GPU", "События, обработка ошибок и получение информации об устройстве", "Глобальная, локальная и константная память". Ответьте на контрольные вопросы и выполните контрольные задания, предложенные в конце этих глав (ответы н
User teacher-sib : 13 июня 2022
600 руб.
promo
Лабораторная работа 1-3 по дисциплине: Программирование графических процессоров. Вариант 15
Лабораторная работа №1 Задание 1. Прочитайте главы теоретического материала под названиями "Отличия GPU от CPU", "Первая программа на CUDAC", "Алгоритм сложения двух векторов на GPU", "Собы-тия, обработка ошибок и получение информации об устройстве", "Глобальная, локаль-ная и константная память". Ответьте на контрольные вопросы и выполните контроль-ные задания, предложенные в конце этих глав (ответы на контрольные вопросы не нужно включать в отчёт по лабораторной работе). 2. Реализуйте паралле
User IT-STUDHELP : 14 мая 2022
900 руб.
promo
Совершенствование организации и технологии ремонта автотранспортных средств в условиях ООО «Стройпластмасс-агропродукт» Ульяновского района Ульяновской области (отвертка для винтов и шурупов)
СОДЕРЖАНИЕ ВВЕДЕНИЕ 1 КРАТКАЯ ХАРАКТЕРИСТИКА ХОЗЯЙСТВА И АНАЛИЗ ХОЗЯЙСТВЕННОЙ ДЕЯТЕЛЬНОСТИ 1.1 Организационно - экономическая характеристика предприятия 1.2 Анализ структуры управления хозяйством 1.3 Анализ эксплуатации автомобильного парка 1.4 Показатели эксплуатации автопарка 1.5 Количественный и качественный состав водителей 1.6 Анализ производственно-технической базы предприятия 1.7 Цели и задачи дипломного проекта 2 СОВЕРШЕНСТВОВАНИЕ ОРГАНИЗАЦИИ РЕМОНТА АВТОТРАНСПОРТНЫХ СРЕДСТВ 2.
User proekt-sto : 27 июля 2018
700 руб.
Совершенствование организации и технологии ремонта автотранспортных средств в условиях ООО «Стройпластмасс-агропродукт» Ульяновского района Ульяновской области (отвертка для винтов и шурупов)
Оружейная (Конюшенная) башня Московского Кремля
Между Боровицкой и Комендантской башнями со стороны нынешнего Александровского сада расположена Оружейная башня Московского Кремля, ранее называвшаяся Конюшенной. В начале XVII века она имела проездные ворота к Конюшенному двору в Кремле: отсюда ее древнее название. Именование «Оружейная», которое сохранилось за ней по сию пору, башня получила в 1851 году, когда на территории Кремля было сооружено здание Оружейной палаты. Оружейная (Конюшенная) башня была выстроена в 1493-1495 годах. Не исключен
User evelin : 26 августа 2013
10 руб.
Социальные и этические вопросы ИТ. Контрольная работа. Вариант №2. Этапы развития и основные проблемы компьютерной этики.
Номер темы Вашего реферата соответствует двум последним цифрам Вашего пароля. Объем реферата должен быть не менее 7 страниц текста, подготовленного в формате редактора Word с размером шрифта 14 пунктов. Для написания реферата можно воспользоваться конспектом лекций. Тему реферата необходимо раскрыть более полно, используя дополнительную литературу. Список дополнительной литературы приведен в конце конспекта лекций. 2. Этапы развития и основные проблемы компьютерной этики.
User nik200511 : 9 июня 2016
69 руб.
Термодинамика ПетрГУ 2009 Задача 2 Вариант 72
Рассчитать смешанный цикл двигателя внутреннего сгорания, т.е. найти параметры p, V и T для характерных точек цикла, изменение внутренней энергии, энтальпии, энтропии, а также работу в отдельных процессах и цикле. Определить также степень предварительного расширения, степень повышения давления и термический КПД цикла. Параметры выбрать из таблицы 1. Дополнительные данные для расчета: начальный объем — V1=0,001 м³; количество теплоты, подводимой в изобарном процессе — Qp=1,05 кДж; количество т
User Z24 : 12 декабря 2025
650 руб.
Термодинамика ПетрГУ 2009 Задача 2 Вариант 72
up Наверх