реклама на сайте
подробности

 
 
> Matlab, Ядер много, толку мало.
Tpeck
сообщение Apr 12 2016, 08:28
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 14-03-06
Пользователь №: 15 243



День добрый.
Необходимо сформировать большой поток (в идеале >10 Мбит/с) в реальном времени и кидать его в UDP.
Формирователь состоит из источника данных, кодера, некая обработка над кодированными данными, добавление шума, формирование пакета.
Источник данных, кодер, добавление шума по отдельности работают ~ на 30 Мбит/с. А последовательно ~ 10 мбит/с при этом занято лишь одно ядро.
Внимание вопрос.
Можно ли организовать некий конвейер, когда источник данных занимает одно ядро, кодер другое, шум третье, а в UDP шлет четвертое?
Или это даже теоретически нельзя сделать?
Всем спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
syoma
сообщение Apr 14 2016, 14:49
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



В матлабе из m-кода можно сгенерить Си код, скомпилировать тем же C++ компилятором и заставить крутиться на той же или другой платформе в реальном времени. Как правило, это ускоряет работу кода в разы. Смотрите http://nl.mathworks.com/products/matlab-coder/

Еще для DSP обработки в Матлабе пердусмотрены различные тулбоксы. Они обычно гораздо быстрее выполняют такие функции, так как оптимизированы самими программистами Матлаба.
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Apr 14 2016, 16:25
Сообщение #3


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Цитата(syoma @ Apr 14 2016, 17:49) *
В матлабе из m-кода можно сгенерить Си код, скомпилировать тем же C++ компилятором и заставить крутиться на той же или другой платформе в реальном времени. Как правило, это ускоряет работу кода в разы. Смотрите http://nl.mathworks.com/products/matlab-coder/

На 100% не скажу, но по-моему это уже давно не так. Лет 5. Матлаб при запуске м файлов компилит их как-бы и исполняет в нативном коде.
Go to the top of the page
 
+Quote Post
Grizzzly
сообщение Apr 14 2016, 19:20
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 565
Регистрация: 22-02-13
Пользователь №: 75 748



Цитата(jorikdima @ Apr 14 2016, 19:25) *
На 100% не скажу, но по-моему это уже давно не так. Лет 5. Матлаб при запуске м файлов компилит их как-бы и исполняет в нативном коде.

Зависит всё от исходного m-кода. Если в нем содержатся в основном встроенные функции, а операции выполняются векторно, возможен даже проигрыш от перехода к C. Обычно выигрыш от генерации в 1,5-2 раза. Был у меня случай с реализацией MPA алгоритма, содержащего много вложенных циклов, когда выигрыш составил порядка 15-20 раз. Но это, скорее, исключение.

Сообщение отредактировал Grizzzly - Apr 14 2016, 19:20
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 19:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.03557 секунд с 7
ELECTRONIX ©2004-2016