LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

What's the maximum size of an array in labview? LV run out of memory

I want to create a 1D array of 40M element of Double: so I use Initialize Array, element is double 1, dimension size is 40M (and put a Sum at the end so as to make sure lv do attempt to create that array). Supposed this only need 320M of memory, and my system has over 1G free memory available as shown in Task Manager, but when Labview runs this VI, it tells me "Not enough memory to complete this operation" "Labview: memory is full, top level VI is stopped at Initalize Array", so it seems LV is unable to handle such an array, even if there is apparently more than enough free memory in the system.

Does anyone know why labview fails to allocate memory for this VI? Anyway to solve this problem?

0 Kudos
Message 1 of 3
(2,885 Views)

This question has been asked many times. Have you tried to do a search? Arrays require contiguous memory. It doesn't matter if you have 40 GB of RAM. Unless you have a contiguous block for your array, the allocation will fail. You should read the chapter in the LabVIEW Help on managing large data sets. There are also a couple of KnowledgeBase articles.

 

Of course, the obvious question is: why do you need to create such a large array in the first place?

Message Edited by smercurio_fc on 01-18-2010 10:25 PM
0 Kudos
Message 2 of 3
(2,879 Views)

Bigger arrays can be created with this library:

 

Fragmented Array Library:

http://decibel.ni.com/content/docs/DOC-9321

 

It automatically creates several smaller arrays transparently and lets you manipulate it like a single array.

 

Regards,

0 Kudos
Message 3 of 3
(2,787 Views)