LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Memory limits for compiled code in LabVIEW8.6

I am geting out of memory errors for a exicuatable that runs ok as source code. 

 

I am using LabVIEW 8.6  on an WinXP with 3GB of rams and 8GB of vertual memory and the \3GB flag is set in the boot.ini file.

 

Running as source code the program uses 2.2GB of RAM and works ok.  The executable code gives me a memaory full error at about 1.2GB of RAM used.

 

This look to me like the executable is not large address aware.  Is there a build setting or some other option that needs to be changed.

 

Thanks

0 Kudos
Message 1 of 6
(2,749 Views)

LabVIEW code is always compiled and about the only difference between an exe and development is that an exe has had the front panels removed and typically, debugging is disabled. This usually results in a slightly smaller memory footprint.

 

What exactly are you doing in the program? Creating large arrays, opening a lot of references?

0 Kudos
Message 2 of 6
(2,745 Views)

The program reads a large image from a camera (16 megapixel x 16 bit) subtracts a background, multiplies by a scaling array and saves as a tiff (unsinged 16 bit).  I usually get the out of memory error when loading the scaling array (16 megapixel single float).

0 Kudos
Message 3 of 6
(2,740 Views)

Memory in LabVIEW has to be contiguous and perhaps you are creating duplicate instances. You'll want to show buffer allocations and make sure there is no coercion going on. Using the In Place functions can help.

 

I've got code that analyzes HD video but it's proprietary, sorry.

0 Kudos
Message 4 of 6
(2,730 Views)

If it was a problem with contiguous memory or coercion copies wouldn't it run out of memory when running in the full LabVIEW environment and not just as an executable?  That's why I think there is something different about the execuatables memory access, but I cann't find anything in the documentation.

 

Thanks.

0 Kudos
Message 5 of 6
(2,721 Views)

Hi,

 

The reason why LabVIEW memory requirements have been mentioned is because an executable uses the same .ini file that LabVIEW uses which is where memory settings are initiated. One thing you can check for is the virtual memory settings on the machine where you deploy your executable to--please have a look at this knowledgebase article for that purpose. Hope this helps!

 

Ipshita C.

National Instruments
Applications Engineer
0 Kudos
Message 6 of 6
(2,686 Views)