Весь Ram используется в скрипте Python для сотовых автоматов

У меня есть модель высокой интенсивности, написанная на python, с вычислениями массивов, включающими более 200 000 ячеек в течение более 4000 временных шагов. Существует два массива: один массив точных сеток, один сетка более грубой сетки. Информация из массива точных сеток используется для информирования о характеристиках сетки грубых сеток. Когда программа запускается, она использует только 1% процессора, но максимально увеличивает оперативную память (8 ГБ). Требуются дни, чтобы бежать. Как лучше всего начать решать эту проблему? Будет ли обработка графического процессора хорошей идеей или мне нужно найти способ перенести некоторые из выполненных вычислений на жесткий диск?

Я просто пытаюсь найти пути мысли, чтобы двигаться к решению. Моя модель просто вытягивает слишком много данных в оперативную память, что приводит к медленным вычислениям?

2 ответа

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

Похоже, ваша проблема заключается в управлении памятью. Скорее всего, вы записываете в файл подкачки, что значительно замедлит вашу обработку. GPU не поможет вам в этом, так как вы сказали, что увеличиваете объем ОЗУ, а не свою обработку (ЦП). Вам, вероятно, нужно переписать свой алгоритм или использовать другие типы данных, но вы не передали свой код, поэтому сложно диагностировать только на основании того, что вы написали. Я надеюсь, что этой информации достаточно, чтобы вы пошли в правильном направлении.

Другие вопросы по тегам