ni.com is currently undergoing scheduled maintenance.

Some services may be unavailable at this time. Please contact us for help or try again later.

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,710 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,685 Views)