Используйте цифровые сигнальные процессоры для ускорения вычислений таким же образом, как графические процессоры - PullRequest
1 голос
/ 12 апреля 2011

Я читал, что несколько карт DSP, которые обрабатывают аудио, могут очень быстро вычислять преобразования Фурье и некоторые другие функции, связанные с обработкой звука и другие. Есть некоторые научные проблемы (не так много), как квантовая механика, которые включают вычисления с преобразованием Фурье. Интересно, можно ли использовать DSP для ускорения вычислений таким же образом, как это делают графические процессоры в некоторых других случаях, и если вам известны удачные примеры.

Спасибо

Ответы [ 2 ]

4 голосов
/ 14 апреля 2011

Любые линейные операции проще и быстрее выполнять на чипах DSP. Их архитектура позволяет выполнять линейную операцию (взять два числа, умножить каждое из них на константу и сложить результаты) за один такт. Это одна из причин, по которой FFT можно так быстро вычислить на микросхеме DSP. Это также причина, по которой многие другие линейные операции могут быть ускорены с их использованием. Думаю, у меня есть три основных момента, касающихся производительности и оптимизации кода для таких процессоров.

1) Возможно, менее актуально, но я все же хотел бы упомянуть об этом. Чтобы в полной мере воспользоваться архитектурой процессора DSP, вам нужно написать код на ассемблере. Я почти уверен, что обычный код на C не будет полностью оптимизирован компилятором для того, что вы хотите. Вы буквально должны указать каждый регистр и т. Д. Однако он окупается. Таким же образом вы можете использовать циклические буферы и другие специфичные для DSP вещи. Круговые буферы также очень полезны для вычисления FFT и основанной на FFT (круговой) свертки.

2) БПФ можно найти в решениях многих проблем, таких как тепловой поток (сам Фурье действительно придумал решение еще в 1800-х годах), анализ механических колебаний (или любых линейных генераторов для это материя, в том числе осцилляторы в квантовой физике), анализ мозговых волн (ЭЭГ), сейсмическая активность, движение планет и многое другое. Любая математическая задача, которая включает свертку , может быть легко решена с помощью преобразования Фурье, аналогового или дискретного.

3) Для некоторых из перечисленных выше приложений, включая обработку звука, постоянно изобретаются, обнаруживаются и применяются для обработки другие преобразования, кроме FFT, такие как Mel-Cepstrum (например, кодеки MPEG) , вейвлет-преобразование (например, кодеки JPEG2000), дискретное косинусное преобразование (например, кодеки JPEG) и многие другие. Однако в квантовой физике преобразование Фурье присуще уравнению момента импульса. Это возникает естественно, не только для целей анализа или простоты расчетов. По этой причине я не обязательно помещал бы причины использования преобразования Фурье в обработке звука и квантовой механике в одну и ту же категорию. Для обработки сигналов это инструмент; для квантовой физики это в природе явления.

0 голосов
/ 20 апреля 2011

До появления графических процессоров и наборов команд SIMD в основных процессорах это был единственный способ повысить производительность для некоторых приложений. В конце 20-го века я работал в компании, которая производила карты PCI для размещения дополнительных процессоров в слоте PCI. Некоторые из них были картами DSP, использующими TI C64x DSP , другие были картами PowerPC для обеспечения Altivec. Процессор на картах обычно не имеет операционной системы, чтобы обеспечить более предсказуемое планирование в реальном времени, чем хост. Клиенты будут покупать промышленный ПК с большим задним расположением PCI и подключать несколько карт. Мы также изготовили бы карты в таких форм-факторах, как PMC, CompactPCI и VME, для более жестких сред.

Люди будут разрабатывать код для запуска на этих картах и ​​размещать приложения, которые обмениваются данными с дополнительной картой через шину PCI. Эти платформы были непростыми для разработки, а современные библиотеки для вычислений на GPU намного проще.

В наши дни это встречается гораздо реже. Соотношение цена / производительность намного лучше для процессоров общего назначения и графических процессоров, а DSP для научных вычислений исчезают. Текущие производители DSP, как правило, нацелены на встраиваемые приложения с низким энергопотреблением или чувствительные к стоимости устройства большого объема, такие как цифровые камеры. Сравните GPUFFTW с этими тестами аналоговых устройств . DSP достигает пика при 3,2GFlops, а Nvidia 8800 достигает 29GFlops.

...