Можно ли построить систему большой памяти для Matlab? - PullRequest
3 голосов
/ 24 ноября 2011

У меня проблема с нехваткой памяти в mablab.Можно ли построить большую систему памяти для matlab (например, 64 ГБ ОЗУ)?

Если да, что мне нужно?

Ответы [ 2 ]

3 голосов
/ 24 ноября 2011

@ Итамар дает хороший совет о том, как MATLAB требует непрерывной памяти для хранения массивов, и о хороших практиках управления памятью, таких как разбиение данных на части.В частности, техническая заметка по управлению памятью, на которую он ссылается, является отличным ресурсом.Сколько бы памяти у вашей машины не было, это всегда разумно.

Тем не менее, существует множество приложений MATLAB, которые никогда не будут решены этими советами, так как наборы данных слишком велики;и также очевидно, что наличие машины с гораздо большим объемом оперативной памяти может решить эти проблемы.

(Кстати, иногда бывает так, что дешевле просто купить новую машину с большим объемом оперативной памяти, чем она есть).заплатить разработчику MATLAB за все возможные оптимизации памяти - но это вам решать).

С MATLAB нетрудно получить доступ к большим объемам памяти.Если у вас машина с Windows или Linux с 64 ГБ (или более) - очевидно, что она должна работать под управлением 64-разрядной ОС - MATLAB сможет получить к ней доступ.Я встречал множество пользователей MATLAB, которые этим занимаются.Если вы знаете, что делаете, вы можете создать свой собственный компьютер, или в настоящее время вы можете просто купить машину такого размера с полкой у Dell .

Другой вариант (в зависимости от вашего приложения) можно было бы рассмотреть вопрос о получении небольшого кластера и использовании Parallel Computing Toolbox вместе с MATLAB Distributed Computing Server .

3 голосов
/ 24 ноября 2011

Когда вы пытаетесь выделить массив в Matlab, Matlab должен иметь достаточно непрерывной памяти размером с массив, и если недостаточно непрерывной памяти, вы получите ошибку out of memory, независимо от того, сколько у вас оперативной памяти ваш компьютер.

Исходя из моего опыта, решение будет основано не на непосредственном обращении к связанным с памятью свойствам вашего аппаратного обеспечения, а на написании кода таким образом, который предотвращает выделение слишком больших массивов (вырезание данных на куски и т. Д.). Если вы сможете описать свой код и задачу, которую вы пытаетесь решить, возможно, вы сможете направить вас в этом направлении.

Вы можете прочитать больше здесь: http://www.mathworks.com/support/tech-notes/1100/1106.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...