computer freezes during heavy array calculation

2 visualizaciones (últimos 30 días)
A
A el 17 de Nov. de 2016
Editada: Adam el 17 de Nov. de 2016
Tried limiting max array size to 80% RAM, did not help. Windows 10 64bit, page file managed by windows. R2016B

Respuesta aceptada

Adam
Adam el 17 de Nov. de 2016
Editada: Adam el 17 de Nov. de 2016
'This limit applies to the size of each array, not the total size of all MATLAB arrays.'
That setting is only really of use related to creation of a single array. If you are doing any kind of calculation on your data you will usually end up with some number of intermediate results and one or more end results, which may be of the same size as the initial array or similar size.
When I have had issues of working with large data I have had to work out how many intermediate results I create and what size they are and make a rough calculation of the amount of memory that is used, then add an extra factor to allow for me miscalculating or just generally allowing breathing space and then I use this to determine the largest size of input data I can deal with at any one time.
I'm not aware of an easy panacea method for just always ensuring that any algorithm you run will behave itself with memory allocation for all its intermediate results. It needs to be carefully tuned for individual algorithms from my experience. Obviously for some algorithms the calculation is easy, for others it is a little more complicated, especially if you use the parallel pool with data being transferred to all the workers too.

Más respuestas (0)

Categorías

Más información sobre Shifting and Sorting Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by