08-09-2011 12:19 PM
I am developing a DAQ system which will use 3 PCI-6133 cards to read up to 24 channels of MHz data. However, I am running out of memory when I attempt to collect a large amount of data (e.g. for all 24 channels at 2.5 MHz, the limit is 2.9 MSamples, for only 8 channels at 2.5 MHz, the limit is 6.3 MSamples). I have attached the part of my code that collects and records the data. Is there any way to further optimize it? Thank you
08-10-2011 03:18 PM
Hello extrandb,
If you click here you will be directed to a Knowledge base discussing optimizing memory usage in VIs. Also, looking at your code, you may want to add a clear daqmx task vi. Hope this helps!
Mychal F
08-11-2011 01:40 AM
You can look at data type.
24 ch * 2,9MSa * Doubles = 556Mb
If you have sufficient memory it might be an issue of achieving free chunks of memory, which leads to an old discussion of large data sets.
/Y
08-11-2011 02:24 AM
Additionally: Are you running 32- or 64bit?
With 32bit, the memory space you can adress is limited by default to 2GB per process. With some additional settings (see info here) you can extend it to 3GB.
Please note that arrays have to be contiguos in memory, hence memory fragmantation can always be an issue.
hope this helps,
Norbert