С помощью пакета Gekko opt можно оценить, сколько памяти потребуется для решения сценария? - PullRequest
2 голосов
/ 26 сентября 2019

Я использую Gekko локально в суперкомпьютерном центре.У меня есть скрипт, который решает MINLP, который можно легко масштабировать, чтобы добавить больше смешанных целочисленных переменных.Я хочу понять, насколько дорогими будут вычисления, поскольку я увеличиваю количество переменных и сколько памяти мне нужно запрашивать.

Я получаю следующую ошибку, когда запрашиваю только 1 узел с размером, с которым я сейчас работаю:

Error: At line 461 of file custom.f90
Traceback: not available, compile with -ftrace=frame or -ftrace=full
Operating system error: Not enough memory resources are available to process this command.

Memory allocation failed

Error: 'results.json' not found. Check above for additional error details

Я могу продолжать увеличивать количество узлов, но если я его запускаюВо многом переоценивая объем памяти, мне приходится платить за дополнительное неиспользуемое выделение памяти.Есть ли функция, которая может оценить объем памяти, необходимый для построения модели?

1 Ответ

1 голос
/ 28 сентября 2019

Нет способа предсказать использование памяти в Gekko, но это может быть опция для измерения использования, если вы находитесь в Linux: Проверка использования памяти подпроцесса в Python

Память выделяется при сборке модели и при ее решении.Дополнительная память иногда выделяется во время решения на основе матричных факторизаций.Каждое последующее решение должно использовать примерно одинаковое количество памяти, если у вас есть небольшие перестановки вашей проблемы.

Вы можете ограничить использование памяти с помощью MAX_MEMORY: https://apmonitor.com/wiki/index.php/Main/OptionApmMaxMemory

m.options.MAX_MEMORY = 3
...