09-07-2006 09:40 AM
09-07-2006 10:42 AM
09-07-2006 10:50 AM - edited 09-07-2006 10:50 AM
Hi Traeger,
Your reply is top notch but I would like to split hairs over the phrase "...LV does not multithread within a VI, ...".
I believe this to be false.
The issue is proably related to
1) The events being configured to "Lock FP until event completes" or
2) The Event structure running in the UI thread (not sure on this point) which is single threaded by default.
Sorry about the hair-splitting but when a reply is SO correct, there is a danger of someone getting the wrong impression.
5-stars to you (to make up for my hair-splitting)
Ben
Message Edited by Ben on 09-07-2006 10:51 AM
09-07-2006 10:56 AM
09-07-2006 02:03 PM
09-07-2006 02:23 PM
Trager wrote "Parallel while loops, however, do not execute in separate threads (as far as I know). "
They can execute in parallel threads.
Please see this KB article on hyperthreading
http://zone.ni.com/devzone/conceptd.nsf/webmain/01F2E634710FB8E486256E2900586D41
The section labeled "Primes Parallelism Example" include the sentance;
"
The LabVIEW dataflow programming paradigm allows the LabVIEW execution system to run the two loops in different threads.
"
Ben
09-07-2006 02:39 PM
Got it. I was thinking of the pre-LV7 definition of threads, where one execution system/priority combination was assigned a single thread. It is still true that if you want to explicitly cause thread separation, you have to use the VI Execution Options (as opposed to the implicit separation that LV does when you have to independent running loops in the same VI).
I note that the same KB mentions a 4 thread limit per exec system. Is that still the case in LV8? It also states that that 4 thread limit is the default, but I don't know if/when that can be changed. I'm interested in finding out, however.
09-07-2006 02:58 PM
I have to run now but this came from the LV 7.1 upgrade notes.
"
To change how LabVIEW allocates threads, use the
threadconfig.vi inthe
vi.lib\Utility\sysinfo.llb. You also can disable reentrancy forVIs by removing the checkmark from the
Reentrant execution checkboxin the
Execution page of the VI Properties dialog box."
Ben