LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

multithreading in LV 7.1

I am running a large application (about 600 vi's) in LabVIEW 7.1.1. We have a P5 running XP. It is multithread capable. One vi of the application moves an ultrasonic transducer, and aquires and digitizes the scan line data, then another vi processes the data and converts it into IMAQ images. When I'm watching the task manager in windows the acquire data vi runs at near 100% CPU usage, but then drops off to near 10% while processing and the transducer is being moved to the next line. Question: I would like the acquire to happen as fast as possible and just have process data occur in the background as needed. Do I need to use specific vi's/functions to utilize and control multithreading, or is it truly automatic? How can I make these two operations as efficient as possible?
PaulG.
Retired
0 Kudos
Message 1 of 4
(2,907 Views)

Multithreading is to some extent automatic, but dataflow is not. The first thing to check is that the code is written to allow parallel acquisition and analysis. Posting your code (if possible) would be a great help.

Mike...


Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
0 Kudos
Message 2 of 4
(2,896 Views)
Not to jump in over Mike, because he is much more knowledgeable than me, But you can set which thread a vi runs in and it's priority. you can set this in the vi options. I'm sure you already knew this but I was just throwing it out there anyway.



Joe.
"NOTHING IS EVER EASY"
0 Kudos
Message 3 of 4
(2,878 Views)


@PaulG. wrote:
We have a P5 running XP. It is multithread capable.
Make sure you are not confusing things. Multithreading is a function of the OS and all recent  windows versions support it. LabVIEW automatically runs multithreaded, independet of the processor architecture, even on an old Pentium I.
 
Is it possible you are talking about "hyperthreading", which is only available on certain processors? If your CPU is stuck at 100% during a certain process, mutithreading will not improve things. However, if you have a hyperthreaded, multicore, or dual processors, you might be able to spread the load a little bit better and keep more CPU resources busy at the same time. Have a look at the following article: LabVIEW and Hyperthreading . See if this helps. 🙂
Message 4 of 4
(2,870 Views)