LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to write Large datasets to ASCII?

Hi,

 

   I am trying to save 200 million double-precision numbers to a text file, (to do further treatment with afterwards), and Labview keeps telling me it doesn't have enough memory.   I have 8GB of Ram, but here's what I've heard - I've heard that Labview tries to keep the entire dataset in memory when using "Write to a Spreadsheet File",  and I've also heard that 32-Labview 2009 can actually only use around 1G of RAM for holding your data in memory (please correct my misunderstandings)

 

 

  So my question:  I need the 200M points.  How do I get them from my PCI-5122  Digitizer into a text file?

 

Thanks

NI Hardware: PXI-7853R, PCI-5122, PCI-6733, PXI-1036, PCI-MIO-16E-4, PCI-6110
Computer Hardware: Xeon Quad Core - 2.33 Ghz, 8 GB RAM
Software: Labview 2009, Labview FPGA 2009, Vista 64-bit, MAX 4.6, DAQmx 9.0, NI-SCOPE 3.5
0 Kudos
Message 1 of 2
(2,584 Views)

Hi noli,

 

make a FOR loop, run the loop 200 times and write 1 million DBLs each iteration...

 

Let's do some math:

200e6 DBL = 1600e6 byte = 1.6Gbyte. Just the DBL array.

Now convert that to ASCII, using 10 chars per number: 200e6 numbers *10bytes = 2Gbyte.

In summary your conversion would need (at least) 3.6Gbyte of RAM. No 32bit program/OS can handle that...

Message Edited by GerdW on 04-30-2010 04:53 PM
Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 2 of 2
(2,559 Views)