LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Does LabVIEW compilation benefit from more cores?

Solved!
Go to solution

Good morning, all,

 

I maintain and extend a LabVIEW (2020) app consisting of about 1,200 vis and ctls, compiled on PC and run on a cRIO. The app also uses a separate HMI, also written in LabVIEW, with another 200 or so vis and ctls.

 

The compilation time to build these two programs -- on a windows 10 machine that's getting a little long in the tooth -- adds up to 5 minutes or so, and can be considerably longer if I forget to clear the windows temp directories first.

 

We are considering replacing this machine. Is there significant benefit in compiling large LabVIEW programs on a computer with lots of cores? That is, is the build process for cRIO and/or PC executables multi-threaded?

 

Thanks,

-- Mark

0 Kudos
Message 1 of 7
(508 Views)
Solution
Accepted by MarkBowles

@MarkBowles wrote:

 

Is there significant benefit in compiling large LabVIEW programs on a computer with lots of cores? That is, is the build process for cRIO and/or PC executables multi-threaded?

Not according to this:

 

https://knowledge.ni.com/KnowledgeArticleDetails?id=kA03q000001ECrrCAG&l=en-IL

 

I seem to vaguely recall some talk from NI about possibly changing this, but I don't remember details and I'm not even sure if it's real.

 

Some people have continuous integration setups so that the build happens on a dedicated machine, and then it at least let's you keep using LV while you're building. You can in principle also create a second copy of the LV exe and run that.


___________________
Try to take over the world!
Message 2 of 7
(485 Views)

If you upgrade to LV2023+ you'll probably gain a lot of compilation time as it implemented a compile cache so not all VI's needs to compile each time.

G# - Award winning reference based OOP for LV, for free! - Qestit VIPM GitHub

Qestit Systems
Certified-LabVIEW-Developer
0 Kudos
Message 3 of 7
(479 Views)

There is an entry about his in the idea exchange :
https://forums.ni.com/t5/LabVIEW-Idea-Exchange/Multi-Core-LabVIEW-Compiles-App-Builds/idi-p/4370553

 

Not many Kudos on it though


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Kudos
Message 4 of 7
(474 Views)

@MarkBowles wrote:

Good morning, all,

 

I maintain and extend a LabVIEW (2020) app consisting of about 1,200 vis and ctls, compiled on PC and run on a cRIO. The app also uses a separate HMI, also written in LabVIEW, with another 200 or so vis and ctls.

 

The compilation time to build these two programs -- on a windows 10 machine that's getting a little long in the tooth -- adds up to 5 minutes


I have a relatively heavyweight app (around 7500 VIs) that has been developed since 2007. A good point is that this app is splitted into PlugIns (around 70) with their own build specifications. The total build takes around 20 minutes. Another good point is that the build specification can be invoked programmatically, so in case a full rebuild (is very rarely needed), I just start several copies of LabVIEW. The first one will build PlugIns 1 to 10, the next one will build PlugIns 11 to 20, and so on. It takes just a few minutes, and it's ready. However, a full rebuild is rarely needed because if only one PlugIn changes, then only a small portion of the code needs to be rebuilt, not the whole app.

Message 5 of 7
(440 Views)

Nice Andrey! I haven't thought about that solution.

For others wondering, if you use the DOS command Subst to create new paths to LV you can start multiple instances. 

e.g. subst g: "c:\program\national instruments\labview 2023", this way you can easily have 5 different paths to the same program

 

G# - Award winning reference based OOP for LV, for free! - Qestit VIPM GitHub

Qestit Systems
Certified-LabVIEW-Developer
0 Kudos
Message 6 of 7
(426 Views)

@Yamaeda wrote:

Nice Andrey! I haven't thought about that solution.

For others wondering, if you use the DOS command Subst to create new paths to LV you can start multiple instances. 

e.g. subst g: "c:\program\national instruments\labview 2023", this way you can easily have 5 different paths to the same program

 


As far as I remember, the key

allowmultipleinstances = TRUE

is available, but I just simply copy LabVIEW.exe -> LV1.exe -> LV2.exe and so on, that works.

Message 7 of 7
(417 Views)