Новый солвер в PyTorch снижает пиковое потребление RAM в 20 раз
0/1 Knapsack Problem in PyTorch

Инженер PyTorch реализовал оптимизацию солвера для задачи о рюкзаке, используемую при планировании памяти активаций. Комбинация скользящего окна и трюка Хиршберга уменьшает размер DP-таблицы с (число операций × макс. вес) до (2 × макс. вес). На машине с 64 ГБ RAM старый dp_knapsack падал уже на 100 операциях, а новый dp_knapsack_sliding_hirschberg справляется с 2000. Включается одной строкой конфига.
На моей машине с 64 ГБ RAM dp_knapsack падает на задачах со 100 элементами, тогда как dp_knapsack_sliding_hirschberg способен обрабатывать задачи с 2000 элементами в рамках этого бюджета памяти.