Running a large array

Hi,
I am trying to load in an array (the array is 362x332x75x1032 (34.7GB)), which exceeds maximum array size preference (16.0GB). How do i go about loading it in.
It is a variable which is part of a .nc dataset

Answers (2)

John D'Errico
John D'Errico on 22 Jul 2024
Edited: John D'Errico on 22 Jul 2024

0 votes

Memory is cheap. Get more memory.
I'm sorry, but if you want to work with big data, you will often need sufficient capabilities to handle that data. No matter what, working with huge arrays, lacking sufficient will be slow. So your next question will be, how can I make my code run faster. Again ... get sufficient memory. Or, solve smaller problems.

2 Comments

This is for my masters dissertation, so unfortunantly upgrading my memory isn't an option
Did the professor assign the hardware and say "you must run it on this hardware" ?
If not, then:
  • if it is your own hardware, then there is always the option of upgrading it
  • if it is university hardware, then there is always negotiating with the university to obtain an upgrade

Sign in to comment.

Voss
Voss on 22 Jul 2024

0 votes

You can read and process the file in sections, one section at a time, in a loop, by specifying the start and count input arguments to ncread.
And/or specify the stride argument to read only every so many values instead of all of them.

Asked:

on 22 Jul 2024

Commented:

on 22 Jul 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!