LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Darren's Weekly Nugget 08/10/2009

You shouldn't have to worry about deadlocks or any other problems associated with loops that have iteration dependencies.  As was mentioned, LabVIEW is really smart about what loops it can parallelize.  If you take a loop that has data dependencies between the iterations (i.e. incalculable manipulations of data in shift registers, reading/writing of global values, etc.) and attempt to parallelize it, LabVIEW will actually give you a broken run arrow, indicating that it cannot execute the affected loop in parallel.  And if it can't quite determine whether or not parallelism will affect the execution of certain nodes in the loop, it will give you warnings (it might be a good idea to enable warnings on VIs if you start using the Parallel For Loop a lot).  Alternatively, non-parallelizable loops, and loops with warnings, will appear in the Find Parallelizable Loops utility I mentioned in my original post.
0 Kudos
Message 11 of 12
(779 Views)

Darren wrote:
If you take a loop that has data dependencies between the iterations (i.e. incalculable manipulations of data in shift registers, reading/writing of global values, etc.) and attempt to parallelize it, LabVIEW will actually give you a broken run arrow, indicating that it cannot execute the affected loop in parallel. 
 Cool.. Okay... now that's smart.  And makes sense..
I like the following feature:
 And if it can't quite determine whether or not parallelism will affect the execution of certain nodes in the loop, it will give you warnings.

 

0 Kudos
Message 12 of 12
(755 Views)