GregSands Posted September 11, 2008 Report Share Posted September 11, 2008 I've been experimenting with LV code for multiprocessing (on an 8-core machine) - this is for deconvolution, where I can work on multiple sections of a large 3D array independently. However I got tripped up by a non-reentrant VI buried in the sub-VI that I was using as the core processing routine which effectively blocked processes from executing simultaneously. Is there a facility for checking for such blocks, or for validating that I haven't missed setting a VI to reentrant where needed? I find it a little frustrating that reentrancy is not immediately visible (unless I add it to the icon manually), nor can it be specified when inserting a VI, only when saving it (this is for 8.2, but as far as I know this hasn't changed in 8.5 or 8.6). Cheers ~ Greg Quote Link to comment
Antoine Chalons Posted September 11, 2008 Report Share Posted September 11, 2008 Yes, you are not the only one ! I also went into the process of making core subVIs re-entrant, to helps with this I wrote a small piece of code that checks all the VIs in memory to see if they are re-entrant or not : I agree it would be cool if LabVIEW could automatically add a "re-entrant glyph" on the VI icon, but until this feature comes I do it myself. Hope this helps Quote Link to comment
GregSands Posted October 29, 2008 Author Report Share Posted October 29, 2008 QUOTE (Antoine Châlons @ Sep 10 2008, 06:51 PM) I agree it would be cool if LabVIEW could automatically add a "re-entrant glyph" on the VI icon, but until this feature comes I do it myself. Just to document what I decided in the end (in case it helps others) - all my reentrant routines now have a red border, making it easy to pick them out of a block diagram or VI hierarchy. Cheers ~ Greg Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.