|
#1
|
|||
|
|||
Размер массива
Программа должна обрабатывать большие массивы данных. И вот при определенном размере трехмерного массива вылетает сообщение OUT of memmory, при чем на втором массиве (пользовательском), первый (тоже пользовательский почти аналогичный) проглатывается нормально!! Комп обладает ресурсами, задействовано должно быть лишь 3Гб по моим подсчетам оперативки из 16, а еще есть не ограниченная виртуальная память.
Как обойти это? |
#2
|
||||
|
||||
Цитата:
Цитата:
Больше 4 ГБ в сумме задействовать в Win32 приложении нельзя в принципе. И не надо примешивать сюда физическую память - она вообще из другой оперы. Если компилируется под х64, то памяти, конечно, значительно больше, но все же выделять такими гигантскими кусками нельзя. Стоит хорошенько подумать о смысле ПыСы даже на серваках, которые я видел, поднятые сложные вычислительные задачи редко отжирают столько. jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 18.12.2013 в 19:48. |
#3
|
|||
|
|||
Когда речь идет об около 1000000 точек сетки для вычисления физического поля. Имеешь дело с системой из такого же числа уравнений с таким же числом неизвестных. Для их решения создаются квадратная матрица с размером соответствующим. А для ее формирования ещё надо с полтора десятка одномерных массива с тем же числом строк!!! Естественно на первых порах буду грубить сетку многократно... Но боюсь точность слетит... Как вычислители работают под win32? Для них не предел матрица с размером 10^6*10^6
|
#4
|
||||
|
||||
Я правильно понимаю, что это связано с предыдущей темой про многопоточность?
Если да, то все вычисления можно делать параллельно, а значит - можно и последовательно. Что мешает загрузить кусочек - рассчитать - выгрузить - загрузить следующий - рассчитать - выгрузить - ... ? Даже если нет - идеология та же. Рассчитать часть, сохранить промежуточные результаты, рассчитать следующую с их учетом, ... jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 18.12.2013 в 20:44. |
#5
|
|||
|
|||
Ну да это и мне пришло в голову, просто надеялся что обойтись без сохранения (жалко тратить машинное время на это)
|