Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: LXXXII Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 10 октября 2019 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Ларьков И.В. ИСПОЛЬЗОВАНИЕ ГРАФИЧЕСКОГО ПРОЦЕССОРА В ЗАДАЧАХ ЦИФРОВОЙ ОБРАБОТКИ СИГНАЛОВ // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. LXXXII междунар. студ. науч.-практ. конф. № 10(81). URL: https://sibac.info/archive/technic/10(81).pdf (дата обращения: 02.12.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

ИСПОЛЬЗОВАНИЕ ГРАФИЧЕСКОГО ПРОЦЕССОРА В ЗАДАЧАХ ЦИФРОВОЙ ОБРАБОТКИ СИГНАЛОВ

Ларьков Иван Вячеславович

магистрант 2 курса, кафедры «Информатика» факультета компьютерных систем и сетей, Белорусский государственный университет информатики и радиоэлектроники

Республика Беларусь, г. Минск

В цифровой обработке сигналов критичным является время обработки данных. Для достижения наилучших результатов применяется распараллеливание алгоритмов. В современном мире, для решения этой задачи подходят графические процессоры общего назначения(GPGPU), программируемые логические интегральные схем(FPGA) и интегральные схемы специального назначения(ASIC). ASIC дорогостоящие и не обладают возможностью перепрограммирования, поэтому их целесообразно использовать только при большом серийном производстве.

Графические процессоры обладают преимуществом перед FPGA при использовании вычислений с плавающей запятой, а также меньшими затратами на разработку, по причине использования более высокоуровневого языка. Помимо этого, графические процессоры обладают меньшей стоимостью, но проигрывают в энергоэффективности.

GPU ограниченны интерфейсом PCIe, поэтому сопряжение с устройствами, реализующими любые другие стандартные или специальные интерфейсы, потребует дополнительной электроники. FPGA обладает огромной гибкостью, позволяя реализовать практически любой аппаратный интерфейс [1].

Из таблицы 1 мы можем увидеть, что GPU обладают высокой производительностью при относительно низкой стоимости, что, с учетом меньшей трудозатратности на реализацию алгоритмов, подталкивает к рассмотрению GPU как базу для дальнейших решений.

Таблица 1.

Сравнение характеристик FPGA и GPU

Модель

Максимальная производительность, TFLOPS

Производительность/Ватт, GFLOPS/W

Стоимость, €

€/Производительность, €/GFLOPS

GPU

NVidia

GT 730

0.69

7

80

0.1

Radeon R9 390X

5.91

16

420

0.07

Radeon R9 Fury X

7.17

20

600

0.08

FPGA

Artix-7 200T

0.65

72

190

0.29

Kintex-7 480T

1.8

72

2500

1.39

Virtex-7 690T

3.12

78

11200

3.59

 

 

Для выбора оптимального параллельного алгоритма необходимо рассмотреть структуру ядра GPU. Архитектурно GPU представляет собой планировщик задач и массив Потоковых Мультипроцессоров(SM). Когда программа вызывает часть, исполняемую на GPU, планировщик передает задачи свободным мультипроцессорам.  На каждом мультипроцессоре может обрабатываться несколько блоков потоков. Каждый такт мультипроцессор исполняет одну и ту же инструкцию над группой потоков, называемой варп(warp).

 

Рисунок 1. Структура GPU

 

В качестве примера параллельного алгоритма для GPU рассмотрим алгоритм корреляции. Данный алгоритм является хорошим примером в силу своей двумерной структуры. Корреляционная функция представляет собой интеграл от произведения двух копий сигнала, сдвинутых друг относительно друга на время:

 ,

где S – это коррелируемый сигнал.

Мы можем представить этот алгоритм суммой произведений всех выборок сигналов. Поскольку ко всем выборкам сигнала применяются одинаковые операции, напрашивается распараллеливание алгоритма по длине сигнала. Также следует учитывать влияние эффекта Доплера, которое также будет обрабатывать параллельно [2].

Таким образом, быстродействие алгоритма будет зависеть от шага сдвига сигнала, а также от длины сигнала и количества рассматриваемых частотных смещений в случае, когда эти параметры превышают количество доступных ресурсов GPU [3].

Результат реализации данного алгоритма тестировался на GPU NVidia GeForce 750 TI, которая имеет 640 мультипроцессоров, а размер варпа равен 32.

На рисунке 2 изображена зависимость времени обработки от количества рассматриваемых сигналов, при длине сигнала равной 256 дискрета и без учета времени записи и чтения данных. Мы видим, что время обработки растет скачкообразно. Это происходит из-за превышения максимального количества потоков GPU, поэтому данные, для которых не хватает ресурсов, будут обработаны в новом цикле. Скачки значений на графике объясняются тем, что ПК, на котором проводился эксперимент, оборудован только одной GPU, поэтому часть ресурсов использовалось для обработки графического интерфейса.

 

Рисунок 2. Зависимость времени обработки от количества обрабатываемых сигналов

 

Важно отметить, что время чтения и время записи могут занимать достаточно много времени, что значительно снижает производительность. Кроме того, жесткая синхронность операций в одном варпе может привести к простою ядра при наличии сложных ветвлений в реализации алгоритма.

Таким образом, в системах не критичных к задержке между приемом и обработкой данных, использование графических процессоров является целесообразным, в силу наименьшей трудоемкости и высокой масштабируемости.

 

Список литературы:

  1. GPU vs FPGA Performance Comparison [Электронный ресурс] // BERTEN Digital signal processing. – Режим доступа: https://bit.ly/2pCblLo . – Дата обращения: 03.04.2018.
  2. Оппенгейм А. Цифровая обработка сигналов / Р. Шафер,  А. Оппенгейм – М: Техносфера, 2006 – 856 с.
  3. Боресков, А. В. Параллельные вычисления на GPU. Архитектура и программная модель CUDA: Учебное пособие. / А. В. Боресков и др. – М.: Издательство Московского университета, 2012 – 336 с.
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.