Effacer les filtres
Effacer les filtres

Running a large array

29 vues (au cours des 30 derniers jours)
Sophie
Sophie il y a environ 11 heures
Commenté : Walter Roberson il y a environ 2 heures
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

Réponses (3)

Star Strider
Star Strider il y a environ 10 heures
See the documentation section on Tall Arrays (introduced in R2016b).
I have rarely needed to use them, so I have little experience with them.
  2 commentaires
Sophie
Sophie il y a environ 9 heures
They seem to not work with netCDF files
Star Strider
Star Strider il y a environ 8 heures
I was not aware that it was a CDF file. There is a set of functions to work with netCDF Files, and another set of functions to work with CDF Files. They may have options that would work. (I rarely use CDF files, so I do not have extensive experience with them and functions using them.)

Connectez-vous pour commenter.


John D'Errico
John D'Errico il y a environ 6 heures
Modifié(e) : John D'Errico il y a environ 6 heures
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 commentaires
Sophie
Sophie il y a environ 5 heures
This is for my masters dissertation, so unfortunantly upgrading my memory isn't an option
Walter Roberson
Walter Roberson il y a environ 2 heures
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

Connectez-vous pour commenter.


Voss
Voss il y a environ 4 heures
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.

Community Treasure Hunt

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

Start Hunting!

Translated by