LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Has anyone else seen issue with trying to allocate more than 1Gig of memory for a buffer?

I have a LV2 global on steriods that has to store data that I am collecting from 448 channels at 1000Hz.

When I attempt to use a "initialize array" to create a 448 X 90,000 array of I32's (this will be my buffer) LV crashes saying it does not have enough memory to complete this operation.

If I back down the "90,000" to "80,000" it appears OK and the Task manager >>> Performance tab indicates that I am using about 0.97 Gig of memory.

Bump it back up to 90,000 and crash!

I have 4 Gig in this machine so This should work.

So...

has anyone else seen this issue?

I am going to chase down DF Gray presentation because there may have been something in there I over-looked.

In the meanwhile, if you can help out, I would appreciate it.

Ben

Now where did I see that presentation?
Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 1 of 33
(5,881 Views)
Hi Ben,

try this link

http://forums.ni.com/ni/board/message?board.id=170&message.id=120275

DF Gray also mentions an issue with memory over 1 Gig.

I hope this helps,

Ben

PS. I do not think you are going to like the details very much.
Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
Message 2 of 33
(5,864 Views)
This is a well developped case of schizophrenia. Is this something that appears above 2000-3000 replies ? 😉 😄
CC
Chilly Charly    (aka CC)

         E-List Master - Kudos glutton - Press the yellow button on the left...
        
Message 3 of 33
(5,843 Views)
Well then, I suppose there's nothing else for it but to divide up Ben's answers on the LIST depending on the number of personalities present....

"All your mug belong to us"

Shane.
Using LV 6.1 and 8.2.1 on W2k (SP4) and WXP (SP2)
Message 4 of 33
(5,836 Views)
Shane, that's a great one, but I'm afraid most people will miss joke.
Incidentally, I believe it should be "All your mug ARE belong to us".
I'm happy to say that the first 5 stars that went into Ben's other personality came from me.
Charly, I think you caused this to happen, when you took on the form of the bear.
If I remember correctly, Ben said "Please lose the bear, I feel like I'm talking to myself".

___________________
Try to take over the world!
Message 5 of 33
(5,827 Views)
Whoops, correct. The ARE was forgotten. I knew the sentence sounded gramatically a little bit too close to grammatically correct.

BTW, does anyone know the actual source of this sentence? I know it was a cheat code present in Blizzard's classic game Starcraft, but it's use seems almost too widespread to have it's true origins there.

Shane.

PS: I'll stop polluting this thread now. Should send this to the Breakpoint instead.
Using LV 6.1 and 8.2.1 on W2k (SP4) and WXP (SP2)
Message 6 of 33
(5,820 Views)
Could you use a circular buffer with 448x80000? Do you just need to save the data to disk in this vi?? Or maybe split it into two sets of 224x90000?? Does it really need to be I32??
Message 7 of 33
(5,817 Views)
According to the Wikipedia, this came originally from bad translation in the european version of the japanese game "Zero Wing", which came out in 1992.

___________________
Try to take over the world!
Message 8 of 33
(5,804 Views)
We encountered the same problem and switched to a C DLL because there seemed to be a fundamental problem which can not be overcome. The NI support let us know the problem will be less in LabVIEW 8.0 but it will probably still be there. I think it had to do with the distinction between application zone and data space in LabVIEW.

By the way, are you sure you are not making any copies of your array ? 448 x 90,000 x 4 bytes is till just 154 MB. Maybe it's the LV2 global. Because the intialization of the shift register occurs inside a loop an extra buffer allocation is made. At least, that is wat we noticed and why we stayed away from them.
Message 9 of 33
(5,650 Views)
Good morning and tahnk all of you for your postings!

You had me laughing in the midst of my pain!

Raistlin wrote

"
By the way, are you sure you are not making any copies of your array ? 448 x 90,000 x 4 bytes is till just 154 MB. Maybe it's the LV2 global.
"

Yes I am making copies!

The buffer I mentioned is one of of a pair of buffers. One is a raw buffer and is touched regularly by the interupt service routine. The other serves the data to the user interface. This structure was chossen to allow timely updates even when the user was plotting channel data.

I can back off of that aspect and remove the "live viewing" option, but that will not be well recieved.

Keep those comments and ideas coming!

Ben
Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
Message 10 of 33
(5,752 Views)