Tpeck 0 12 апреля, 2016 Опубликовано 12 апреля, 2016 · Жалоба День добрый. Необходимо сформировать большой поток (в идеале >10 Мбит/с) в реальном времени и кидать его в UDP. Формирователь состоит из источника данных, кодера, некая обработка над кодированными данными, добавление шума, формирование пакета. Источник данных, кодер, добавление шума по отдельности работают ~ на 30 Мбит/с. А последовательно ~ 10 мбит/с при этом занято лишь одно ядро. Внимание вопрос. Можно ли организовать некий конвейер, когда источник данных занимает одно ядро, кодер другое, шум третье, а в UDP шлет четвертое? Или это даже теоретически нельзя сделать? Всем спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
litv 0 12 апреля, 2016 Опубликовано 12 апреля, 2016 · Жалоба Надо на С писать (точно успеете). А на Matlab - Вы на Simulunk или как, как написано, может все данные в таблицу занести и т.д. ........ ? Может я и на Matlabe успел бы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tpeck 0 12 апреля, 2016 Опубликовано 12 апреля, 2016 · Жалоба Надо на С писать (точно успеете). Пока этот вариант не рассматриваю. Может после того, как в Matlabe запущу на меньшей скорости буду думать про C. А на Matlab - Вы на Simulunk или как, как написано, может все данные в таблицу занести и т.д. ........ ? *.m В той реализации, что хочу использовать зациклить не получиться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jorikdima 0 12 апреля, 2016 Опубликовано 12 апреля, 2016 · Жалоба Смотрите хелп по Parallel computing. Распараллелить что-то можно, что-то нет. Генерация вектором происходит? Или каждый сампл генерируется функцией и вызов функции в цикле? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_4afc_ 25 12 апреля, 2016 Опубликовано 12 апреля, 2016 · Жалоба Источник данных, кодер, добавление шума по отдельности работают ~ на 30 Мбит/с. А последовательно ~ 10 мбит/с при этом занято лишь одно ядро. Можно ли организовать некий конвейер, когда источник данных занимает одно ядро, кодер другое, шум третье, а в UDP шлет четвертое? В качестве бреда: может 4 матлаба запущенные на разных ядрах и передающие друг-другу данные через локальные UDP? Все ядра там только в нескольких функциях, типа фурье... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FatRobot 0 12 апреля, 2016 Опубликовано 12 апреля, 2016 · Жалоба doc 'parallel computing toolbox' Это чтобы быстрее считать. Если же затея - сделать на matlab систему реального времени с такой пропускной способностью, то это унылая затея. Можно ли организовать некий конвейер, когда источник данных занимает одно ядро, кодер другое, шум третье, а в UDP шлет четвертое? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tpeck 0 13 апреля, 2016 Опубликовано 13 апреля, 2016 · Жалоба Смотрите хелп по Parallel computing. Распараллелить что-то можно, что-то нет. Генерация вектором происходит? Или каждый сампл генерируется функцией и вызов функции в цикле? Вектором. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tpeck 0 13 апреля, 2016 Опубликовано 13 апреля, 2016 · Жалоба В качестве бреда: может 4 матлаба запущенные на разных ядрах и передающие друг-другу данные через локальные UDP? UDP узкое место. Вот вопрос можно ли как-нибудь по другому наладить скоростное взаимодействие между Matlab? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jorikdima 0 14 апреля, 2016 Опубликовано 14 апреля, 2016 · Жалоба UDP узкое место. Вот вопрос можно ли как-нибудь по другому наладить скоростное взаимодействие между Matlab? Так дважды посоветовали уже: parallel computing toolbox Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tpeck 0 14 апреля, 2016 Опубликовано 14 апреля, 2016 · Жалоба Так дважды посоветовали уже: parallel computing toolbox - Дяденька милиционер, а можно я Вам анекдот расскажу. - Ты что, я же милиционер! - А я Вам два раза расскажу. :) Спасибо. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Eddy_Em 1 14 апреля, 2016 Опубликовано 14 апреля, 2016 · Жалоба 1. Выкинуть нафиг этот долбаный матлаб (хотя, вообще, странно, что тупит: матлаб уже давным-давно даже Cuda умеет, не то, что тупо потоки). 2. Использовать pthreads, а хорошо распараллеливаемые сложные вычисления вообще на видеокарту загонять! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syoma 1 14 апреля, 2016 Опубликовано 14 апреля, 2016 · Жалоба В матлабе из m-кода можно сгенерить Си код, скомпилировать тем же C++ компилятором и заставить крутиться на той же или другой платформе в реальном времени. Как правило, это ускоряет работу кода в разы. Смотрите http://nl.mathworks.com/products/matlab-coder/ Еще для DSP обработки в Матлабе пердусмотрены различные тулбоксы. Они обычно гораздо быстрее выполняют такие функции, так как оптимизированы самими программистами Матлаба. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jorikdima 0 14 апреля, 2016 Опубликовано 14 апреля, 2016 · Жалоба В матлабе из m-кода можно сгенерить Си код, скомпилировать тем же C++ компилятором и заставить крутиться на той же или другой платформе в реальном времени. Как правило, это ускоряет работу кода в разы. Смотрите http://nl.mathworks.com/products/matlab-coder/ На 100% не скажу, но по-моему это уже давно не так. Лет 5. Матлаб при запуске м файлов компилит их как-бы и исполняет в нативном коде. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Grizzly 0 14 апреля, 2016 Опубликовано 14 апреля, 2016 (изменено) · Жалоба На 100% не скажу, но по-моему это уже давно не так. Лет 5. Матлаб при запуске м файлов компилит их как-бы и исполняет в нативном коде. Зависит всё от исходного m-кода. Если в нем содержатся в основном встроенные функции, а операции выполняются векторно, возможен даже проигрыш от перехода к C. Обычно выигрыш от генерации в 1,5-2 раза. Был у меня случай с реализацией MPA алгоритма, содержащего много вложенных циклов, когда выигрыш составил порядка 15-20 раз. Но это, скорее, исключение. Изменено 14 апреля, 2016 пользователем Grizzzly Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syoma 1 15 апреля, 2016 Опубликовано 15 апреля, 2016 · Жалоба На 100% не скажу, но по-моему это уже давно не так. Лет 5. Матлаб при запуске м файлов компилит их как-бы и исполняет в нативном коде. Тогда зачем им было писать это в описании? You can also use the generated code within the MATLAB environment to accelerate computationally intensive portions of your MATLAB code. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться