PyTorch: настройка памяти есть, а эффекта нет?
PyTorch: настройка памяти есть, а эффекта нет?
Вы добавили max_split_size_mb из совета про нехватку GPU-памяти, но ошибка осталась. Прежде чем перебирать значения, проверьте, какой механизм выделяет память в вашей программе.
Документация PyTorch уточняет: max_split_size_mb ограничивает дробление крупных блоков только у native allocator. При backend cudaMallocAsync этот параметр игнорируется. Крутить его в таком режиме — всё равно что регулировать отключённый кран.
После import torch добавьте в саму проблемную программу строку print(torch.cuda.memory.get_allocator_backend()). Она покажет активный backend. Если увидите cudaMallocAsync, не тратьте время на подбор max_split_size_mb. Важно проверить именно процесс с вашей задачей, а не отдельный Python с другими настройками.
Это убережёт от бессмысленных экспериментов. Даже для native документация советует этот параметр как крайнюю меру при нехватке памяти и большом количестве неактивных разделённых блоков; возможна потеря скорости.
Сначала проверьте, действует ли настройка в вашем режиме, потом подбирайте значение.

