06-28-2019 10:44 AM
Hi,
I'm using multiple parallel while loop in my vi. Since one of those loop absolutly need to be in real-time, I was wondering if there was some way to ive priority to compute on this loop. If there was some way to dedicate one core or more to this loop so that it is always ready to execute.
Thanks.
06-28-2019 02:30 PM
Use a Timed Loop instead of a While loop.
The Timed Loop has an input that you can use to specify which core it runs in.
THen you could use a Timed sequence for all of the other code and set it to use another core.
But on the other hand...
Questions like this often are the first symptoms of a program that needs a little assistance from some of the users here that know about performance and can suggest alternatives.
I have not been tempted to reach for a Priority answer to a performance problem in maybe 18 years.
Just trying to help,
Ben
06-28-2019 05:02 PM
Thanks, I'll explore what those are.
As fo performance, the device I use aquires a lot of data a rapid speed. My actual code are in parallel loops since it doesn't need to be perectly real-time and is more than fast enough at the moment.
06-28-2019 08:19 PM
There is no way to answer that question without seeing some actual code.
What do the loops do? If one loop code is in the middle of a gigantic FFT, your high priority loop might not get a slice of the pie anytime he wants. So:
Are you experiencing any obvious jitter due to the current architecture? What are your timing requirements?
@RaphaelMT wrote:
Since one of those loop absolutly need to be in real-time,
Are you running on a real-time platform (LabVIEW RT) or plain windows? Under windows there is no way to guarantee anything. What happens if the timing is not met and how do you tell?
06-28-2019 08:23 PM
@RaphaelMT wrote:
Since one of those loop absolutly need to be in real-time,
I hope you're not running on Windows. You're not going to be finding this requirement if you are.