MikaelH Posted October 19, 2007 Report Share Posted October 19, 2007 Hi Most of my test and measurement application runs in sequence, so if I have X number of devices under tests (DUTs), I run the test on them in sequence. Like this: When I need to improve the speed I might split the DUTs into different for loops like this: But this is not scalable. So I would like to see a new structure in LabVIEW than handle multi-tasking. So my application always takes advantage of the number of core the CPU(s) has. It might look something like this: The new structure might need some inputs to decide maximum number of threads, and maybe if a dedicated CPU should be used (like the timed while loop). But the difficult part for NI would probably be a good way of debugging a structure like this, if you select "Step into Multi-tasking structure". Cheers, Mikael Quote Link to comment
Ashish Uttarwar Posted October 20, 2007 Report Share Posted October 20, 2007 QUOTE(MikaelH @ Oct 18 2007, 03:05 PM) .....application always takes advantage of the number of core the CPU(s) has. I am pretty sure that you are aware of this. But still.... Regarding core assignment in LabVIEW, I know that in LabVIEW 8.5, the Timed Loop structures can be assigned to specific cores on the processors. --- Ashish Quote Link to comment
robijn Posted October 20, 2007 Report Share Posted October 20, 2007 Hey that's a nice idea ! Up to now we need to do this pooling and starting instances ourselves... It's like a for loop but executed in parallel ! That "thing" inside the structure should it indicate the number of the current thread# ? The same as N in a for loop. Joris Quote Link to comment
MikaelH Posted October 24, 2007 Author Report Share Posted October 24, 2007 QUOTE(robijn @ Oct 19 2007, 09:32 PM) Hey that's a nice idea ! Up to now we need to do this pooling and starting instances ourselves... It's like a for loop but executed in parallel ! That "thing" inside the structure should it indicate the number of the current thread# ? The same as N in a for loop. Joris I thought more maybe more like an ThreadNo that goes from 0 to n-1, where n is the maximum number of tread you allow LabVIEW to start for the mulit tasking structure. //Micke Quote Link to comment
Mellroth Posted October 24, 2007 Report Share Posted October 24, 2007 QUOTE(MikaelH @ Oct 23 2007, 05:12 AM) I thought more maybe more like an ThreadNo that goes from 0 to n-1, where n is the maximum number of tread you allow LabVIEW to start for the mulit tasking structure.//Micke Hi, I think that this structure would be fantastic, and a similar structure has been proposed before: http://forums.lavag.org/Parallel-loop-t4739.html I guess that the structure should be limited to Fixed Size Arrays or constant number of threads, or do you think it would be possible to have threads allocated on the fly? /J Quote Link to comment
robijn Posted October 26, 2007 Report Share Posted October 26, 2007 QUOTE(JFM @ Oct 23 2007, 02:47 PM) I guess that the structure should be limited to Fixed Size Arrays or constant number of threads, or do you think it would be possible to have threads allocated on the fly? I would say why not..? It's already being done if you place two VI's in parallel. (or do you mean LV internal threads...? I don't think that makes a difference for this problem) I'm waiting for the "Number of processors" function on the LV palette... Joris 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.