Параллельные вычисления
-
- assistant
- Сообщения: 147
- Зарегистрирован: 15 ноя 2011, 22:39
- Версия LabVIEW: 2018, 2020
- Откуда: СПб
- Контактная информация:
Параллельные вычисления
Здравствуйте!
Подскажите как организовать параллельные вычисления с назначением ядра под определенную задачу. Есть два независимых цикла, 1-ый сбора данный, 2-ой обработка этих данных. на первый цикл отводится 1 и 2 ядро, а под обработку с 3 по 8. Возможно ли такое организовать?
Подскажите как организовать параллельные вычисления с назначением ядра под определенную задачу. Есть два независимых цикла, 1-ый сбора данный, 2-ой обработка этих данных. на первый цикл отводится 1 и 2 ядро, а под обработку с 3 по 8. Возможно ли такое организовать?
-
IvanLis
- guru
- Сообщения: 5463
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 87 раз
Re: Параллельные вычисления
Посмотрите: http://zone.ni.com/reference/en-XX/help ... pu_assign/Fancnc писал(а):Здравствуйте!
Подскажите как организовать параллельные вычисления с назначением ядра под определенную задачу. Есть два независимых цикла, 1-ый сбора данный, 2-ой обработка этих данных. на первый цикл отводится 1 и 2 ядро, а под обработку с 3 по 8. Возможно ли такое организовать?
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- assistant
- Сообщения: 147
- Зарегистрирован: 15 ноя 2011, 22:39
- Версия LabVIEW: 2018, 2020
- Откуда: СПб
- Контактная информация:
Re: Параллельные вычисления
Получается, нужно делать 2 цикла сбора данных и 6 циклов обработки, и потом все это дело синхронизировать ???
-
- assistant
- Сообщения: 147
- Зарегистрирован: 15 ноя 2011, 22:39
- Версия LabVIEW: 2018, 2020
- Откуда: СПб
- Контактная информация:
Re: Параллельные вычисления
По такому принципу нужно делать ?
Похоже этот вариант не подходит, ацп работают на частоте 2 МГц и как их синхронизировать в разных циклах не особо понимаю...
Похоже этот вариант не подходит, ацп работают на частоте 2 МГц и как их синхронизировать в разных циклах не особо понимаю...
- Вложения
-
- test_FFT_timed_loop.vi
- (93.78 КБ) 99 скачиваний
-
IvanLis
- guru
- Сообщения: 5463
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 87 раз
Re: Параллельные вычисления
Выложите snippet, не все переехали на 2016 версию..Fancnc писал(а):По такому принципу нужно делать ?
Похоже этот вариант не подходит, ацп работают на частоте 2 МГц и как их синхронизировать в разных циклах не особо понимаю...
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 173 раза
- Контактная информация:
Re: Параллельные вычисления
синхронизация должна выражаться в чём?Fancnc писал(а):По такому принципу нужно делать ?
Похоже этот вариант не подходит, ацп работают на частоте 2 МГц и как их синхронизировать в разных циклах не особо понимаю...
у вас и так всё условно работает. С АЦП берётся пачка данных (на 2МГц про поточечную обработку можно забыть), через очередь отправляется в соседний цикл, там обрабатывается.
Только нотификаторы - не самый лучший способ в данном случае. Если цикл обработки пропустит данный, они безвозвратно затрутся следующей пачкой.
приложение максимум в 15, просто некоторым лень корректно заполнить профильIvanLis писал(а):Выложите snippet, не все переехали на 2016 версию..
-
- assistant
- Сообщения: 147
- Зарегистрирован: 15 ноя 2011, 22:39
- Версия LabVIEW: 2018, 2020
- Откуда: СПб
- Контактная информация:
Re: Параллельные вычисления
синхронный старт всех модулей ацп, когда в разных циклах, то каждый модуль стартует рандомно, если делать все в одном цикле проблем нет.синхронизация должна выражаться в чём?
PXIe-8880 справляется c 64 каналами по 2МГц, но на грани, хочется раскинуть определенные задачи по ядрам, а то стандартный параллелизм For Loop странно раскидывает задачина 2МГц про поточечную обработку можно забыть
а как лучше сделать?Только нотификаторы - не самый лучший способ в данном случае
на работе и дома разные версии, извиняйте=)приложение максимум в 15, просто некоторым лень корректно заполнить профиль
Выложите snippet, не все переехали на 2016 версию..
Последний раз редактировалось Fancnc 21 мар 2017, 22:34, всего редактировалось 1 раз.
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 173 раза
- Контактная информация:
Re: Параллельные вычисления
как раз в запихивании всего чтения в один цикл нет ничего плохого. Но если хочется разнести то копайте стартовые триггеры (есть во многих примерах чтения DAQmx)Fancnc писал(а):синхронный старт всех модулей ацп, когда в разных циклах, то каждый модуль стартует рандомно, если делать все в одном цикле проблем нет.синхронизация должна выражаться в чём?
очередьа как лучше сделать?Только нотификаторы - не самый лучший способ в данном случае
-
- assistant
- Сообщения: 147
- Зарегистрирован: 15 ноя 2011, 22:39
- Версия LabVIEW: 2018, 2020
- Откуда: СПб
- Контактная информация:
Re: Параллельные вычисления
Так и делаю, но проблема в том, что циклы запускаются в разное время и сбор данных и из-за этого разбегается. Синхронизировать их можно с частотой 1 КГц, что не очень помогает, если ацп работают на 2МГц,Но если хочется разнести то копайте стартовые триггеры (есть во многих примерах чтения DAQmx)
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 173 раза
- Контактная информация:
Re: Параллельные вычисления
при чём тут старт циклов?
конфигурируете стартовые триггеры, и чтение начнётся одновременно. А циклы подождут
http://www.ni.com/tutorial/4329/en/
конфигурируете стартовые триггеры, и чтение начнётся одновременно. А циклы подождут
http://www.ni.com/tutorial/4329/en/
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Параллельные вычисления
У очередей и нотификаторов есть ограничения по времени выполнения, накладываемые операционной системой (время переключения процессов). Поэтому даже на мощной машине интенсивная работа с очередями нагружает процессор серьезно (вопрос не в размере передаваемых данных, а в частоте вызова функций чтения и записи в очередь). Альтернативный вариант кода без очередей работает на пару порядков быстрее. Для высокоскоростных вычислений это может стать проблемой.
-
- assistant
- Сообщения: 147
- Зарегистрирован: 15 ноя 2011, 22:39
- Версия LabVIEW: 2018, 2020
- Откуда: СПб
- Контактная информация:
Re: Параллельные вычисления
наверное, что то не понимаю.конфигурируете стартовые триггеры, и чтение начнётся одновременно. А циклы подождут
конфигурируется система следующим образом, используется counter он же задает и fd и запускается по тригеру
схему приблизительно набросал как реализовано
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 173 раза
- Контактная информация:
Re: Параллельные вычисления
почти, но ведомую задачу надо подготовить к старту, а ведущую стартовать только после подготовки ведомой
за безошибочность не ручаюсь, проверить на на чем-
- assistant
- Сообщения: 147
- Зарегистрирован: 15 ноя 2011, 22:39
- Версия LabVIEW: 2018, 2020
- Откуда: СПб
- Контактная информация:
Re: Параллельные вычисления
а Flat Sequence Structure нельзя использовать??но ведомую задачу надо подготовить к старту, а ведущую стартовать только после подготовки ведомой