Running a large array

2 visualizaciones (últimos 30 días)
Sophie
Sophie el 22 de Jul. de 2024
Comentada: Walter Roberson el 22 de Jul. de 2024
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

Respuestas (2)

John D'Errico
John D'Errico el 22 de Jul. de 2024
Editada: John D'Errico el 22 de Jul. de 2024
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 comentarios
Sophie
Sophie el 22 de Jul. de 2024
This is for my masters dissertation, so unfortunantly upgrading my memory isn't an option
Walter Roberson
Walter Roberson el 22 de Jul. de 2024
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

Iniciar sesión para comentar.


Voss
Voss el 22 de Jul. de 2024
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