Просмотр полной версии : Multicore, Multithreading and Multitasking
Везде написано, что в LabVIEW 8.5 произошли улучшения в этом плане.... Порылся я на сайте NI, почитал всякие статейки (в основном излагавшие одно и тоже и основная масса их сводится к тому как это круто и LabVIEW есть супер стар(но с этим никто и не спорит :D )) посмотрел webcast'ы...
Ну и не узнал ни чего нового...:confused: Какие конкретно новшества появились в 8.5 в этом плане? Может кто может дать толковую ссылку?
Меня интересует:
- в каком случае LabVIEW распараллеливает код и потом как распределяется выполнение по ядрам (но это уже ОС)?
- как генерируются процессы и потоки?
- если какая возможность назначит выполнение конкретных потоков на конкретное 1 ядро а других на другое?
Для начала лучше внимательно почитать это (http://zone.ni.com/reference/en-XX/help/371361D-01/lvconcepts/multitasking_in_labview), это (http://zone.ni.com/reference/en-XX/help/371361D-01/lvconcepts/prioritizing_parallel_tasks/), и это (http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/84eca015aa496b23862565bc006c0f19?OpenDocument), а также ссылки в них и остальные статьи Knowledge Base, которые ищутся по слову "Multithread"
Для начала лучше внимательно почитать это (http://zone.ni.com/reference/en-XX/help/371361D-01/lvconcepts/multitasking_in_labview), это (http://zone.ni.com/reference/en-XX/help/371361D-01/lvconcepts/prioritizing_parallel_tasks/), и это (http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/84eca015aa496b23862565bc006c0f19?OpenDocument), а также ссылки в них и остальные статьи Knowledge Base, которые ищутся по слову "Multithread"
Спасибо за ссылки.
Теперь стало более понятно :)
Как резюме можно сказать, что LabVIEW распараллеливает код автоматом, где только это возможно: будь то два куска кода рядом, будь то два цикла рядом и т.д... Что есть конечно очень хорошо...
Но это же делалось и в более раних версиях... Тут как бы без особых изменений....
Из хелпа 8.5:"LabVIEW 5.0 was the first version of LabVIEW to include multi-core programming. LabVIEW 5.0 separated the user interface thread from the execution threads. Block diagrams executed in one, or possibly more than one, thread, and front panels updated in another thread."
Из заметных изменений которые пришли в 8.5 есть только то:
- в Timed Structures появилась возможность назначать процессор, где
эта структура будет выполняться. Это уже интересно :D
Из хелпа:"The Timed Loop and Timed Sequence structures include a Processor input that allows you to manually assign available processors to handle the execution of the structures. You can configure the processor assignment by wiring an input to the Processor input of the Input Node for the structure or for frames of the structure. (Windows) You also can configure processors to handle timed structures in the Processor Assignment section of the Configure Timed Loop, Configure Timed Loop with Frames, Configure Next Frame Timing, and Configure Next Iteration dialog boxes."
И это все... Хотя на презентациях NIWeek2007 (http://www.ni.com/niweek/keynote_videos.htm)
рассказывали так, что с 8.5 и бога за бороду схватим...
vBulletin v3.6.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd. Русский перевод: zCarot, Vovan & Co