06-24-2009 10:03 AM
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
06-24-2009 10:14 AM
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?
06-24-2009 10:23 AM
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).
06-24-2009 11:19 AM
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.
06-24-2009 11:34 AM
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.
06-25-2009 05:32 PM
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.