Jump to content

Build LV projects in paralell


Recommended Posts

I have app with 30 PPLs that have to be compiled before main application. It takes huge amount of time (30min) for build, probably due to heavy use of classes. I use simple powershell script to execute those builds in order, but most of them could be executed in parallel. Is it possible to start multiple instances of LabView CLI to 'cheat' this? 

Link to comment

You can run multiple instances of the same LabVIEW version by adding the following key in your LabVIEW.ini file

AllowMultipleInstances=True

I have never tried to have more than one L Instance running the application builder at the same time...

Now that I think of if it, I've never even tried to use an instance for coding while another instance is compiling.

LabVIEW crashes so well without trying all that... I rarely run multiple instances at the same time anyway.

 

The alternative I can suggest is to use a dedicated build machine (virtual or not depending on you IT infrastructure)

Edited by Antoine Chalons
  • Like 1
Link to comment

Following. Mostly because it's very common that I'll kick off an RT build and want to move on to working on the Host application. Or the other way around. IMO the different projects shouldn't block each other during a build, but I'm sure there's some linking thing that they didn't want to solve so instead they lock the entire IDE. 

Link to comment
47 minutes ago, Jordan Kuehn said:

Following. Mostly because it's very common that I'll kick off an RT build and want to move on to working on the Host application. Or the other way around. IMO the different projects shouldn't block each other during a build, but I'm sure there's some linking thing that they didn't want to solve so instead they lock the entire IDE. 

Related idea: https://forums.ni.com/t5/LabVIEW-Idea-Exchange/Allow-users-to-continue-working-when-a-build-is-in-progress/idi-p/2638771?profile.language=en

Edited by JKSH
Link to comment

Seems that it is not possible directly using LabVIEWCLI, i managed to 'cheat it' by starting multiple LV instances, one instance was building big proj that takes 30 min, another instance did simple library that takes 40sec, they seemed to work independently and time of individual builds did not increase.

Link to comment

Attached working proof of concept with LabVIEW CLI, To make it work:

  • Disable Error message on logger instance (FGV in C:\Program Files (x86)\National Instruments\Shared\LabVIEW CLI\Operations\Utilities\Logger)
  • Enable multiple instances of LabVIEW
  • Spawn few labview processes that will run Builder.vi and pass instance parameter eg \..\..\Labview.exe \..\..\Builder.vi -- 1
  • Copy ExecuteBuildSpecAsync_class folder to C:\Program Files (x86)\National Instruments\Shared\LabVIEW CLI\Operations
  • Start it the same way from labview CLI but use ExecuteBuildSpecAsync insstead of ExecuteBuildSpec, should compile on free running builder or throw exception

 

builder.zip

  • Thanks 2
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.