Можно ли как-то узнать, какими нодами / сущностями и в каком процентном соотношении занята VRAM в ComfyUI?
Хочу более детально разобраться, какие модели грузятся у меня в RAM, какие в VRAM, какие часть туда часть туда и почему.
Сколько всего занято VRAM, я вижу в любой программе, например в GPU-Z.
Но чем именно занимает её ComfyUI - как узнать? Где внутри ComfyUI можно посмотреть, куда чего и сколько оно загрузило?
Какими нодами/сущностями ComfyUI занята VRAM?
Нет такого, обычно прикидывают размер моделей и добавляют 0.5-1гб на код инференса. Я вижу вы давно выжимаете максимум из старой карты, это тупиковый путь. Проще рассмотреть покупку какой ни будь 3050 с 8гб. Иначе вместо работы у вас будет постоянная бесплодная возня со сжатием размеров.
Винда тоже может отжимать от 0.5 до 3гб VRAM просто по факту загрузки.
Винда тоже может отжимать от 0.5 до 3гб VRAM просто по факту загрузки.
не, ну я не настолько новичок))
перед нажатием на кнопку рендеринга в ComfyUI
смотрю сколько уже занято VRAM, обычно там не более 300мб, если сильно больше - закрываю какой нить хром или что то еще, что согласно диспетчеру NVIDIA засело в VRAM.
касаемо "Нет такого," - очень странно.
Ведь хотя бы монитор ресурсов как отдельное дополнение - сделали!
Стал анализировать вывод в консоли сервера (уже хоть что-то),
конкретно сейчас я хочу разобраться с надписями loaded partially - казалось бы
flux1-schnell-Q2_K.gguf весит менее 4 гб, должен весь в VRAM грузится
loaded partially и вот хочется понять почему. Да и вообще правильно ли я понимаю loaded partially.
Ещё не пойму - как нода отработала, её содержимое из VRAM выкидывается обратно в RAM или нет?
Допустим отработал CLIP, а потом пошёл KSampler.
то есть перед работой следующей ноды VRAM освобождается от предыдущей модели?
то есть перед работой следующей ноды VRAM освобождается от предыдущей модели?
Зависит от настроек кеширования. Смотрите параметры запуска --highvram, --normalvram, --lowvram, --novram, --reserve-vram и особенно --disable-smart-memory
Провёл эксперимент с флагами, --disable-smart-memory затем --highvram
--disable-smart-memory ни начто не повлиял, а вот с --highvram модель Flux Shnell объёмом 4 ГБ наконец-то загрузилась вся в VRAM при рендеринге 1024*1024 картинки (при 512*512 грузился вся изначально).
Однако! это особо не поменяло скорость рендеринга, как было около 120 секунд на итерацию так и осталось, вот что интересно...
то есть не смотря на то что было loaded partially, а стало loaded completely - скорость рендеринга в данном случае не выросла.
А если точнее, скорость loaded completely как мне показалось, и была нормальной, такой, какой она и должна быть
при рендеринге 1024*1024, но почему когда не вся модель в видеопамяти, скорость тоже была нормальной, те же примерно 120 сек /ит.
По идее ведь скорость рендеринга должна была стать сильно меньше, ведь в видеопамяти было тогда по моему около 50% модели всего лишь,
вторая половина модели была в RAM.
Вот эта шняга умеет частями грузить модели и CLIP-ы: https://github.com/pollockjj/ComfyUI-MultiGPU
Потребление памяти для моделей рисует, но вроде как только для GGUF. В принципе, любую (?) модель можно перегнать в GGUF, дальше грузить через ноду. Но лично я не пробовал.
В любом случае, VAE и CLIP загрузить можете на процессоре. А дальше только конвертировать safetensors в gguf и грузить частями.
Это расширение у меня установлено
Просто прежде чем что то менять надо сначала понять что куда грузится.
А то я вижу то load completely, то load partially , и пока не разобрался чего куда и почему именно так.
наглядный процентаж бы сильно помог.
SmeliyR, а кто говорил, что будет легко? Чуда никто не обещал. Если бы все быстро работало на слабом железе, никто бы не покупал дорогое. Я так понял, вы ищете способ, чтобы это вообще работало? Это он. Хотите, чтобы работало быстро? 3090 б/у. Дешевле наверное нет.
то они работают 5 минут, но если я гружу их даже на слабую видеокарту - за 30 секунд!
Суммарно, если всё на видяхе - 60 секунд на запрос, но стоит перекинуть VAE и CLIP на проц - время всего запроса удлиняется до 6 минут.
То есть всё-таки лучше всё грузить на видяху...
SmeliyR, ээээ, да? Все лучше грузить в видеокарту. Оно для этого изначально предназначено, возможность выгружать в оперативную память или вообще запускать только на процессоре - это костыль, который нужен тем, кто не может все грузить в видеокарту. А так да, NVIDIA H100 и вперед - будет летать.
nidalee, дело не в этом... я не совсем понял, почему "В любом случае, VAE и CLIP загрузить можете на процессоре. " но тоже самое вы не говорите про саму основную модель ?
nidalee, надо будет проверить сколько работает flux shnell q2 на ЦПУ..
кстати, несмотря на то, что я не разобрался пока с load completely, то load partially , я подошёл к решению другой более важной проблемы.
Основная проблема была такой - ComfyUI то и дело падал при опрелённых workflow, в том числе даже на моделях чуть больше чем flux1-schnell-Q2_K или при выставлении больших разрешениях (некоторые модели работали на 300x300 картинке, а на 512x512 - падали).
Падал ComfyUI при этом молча, не выдавая никаких сообщений об ошибке.
Поэтому я и искал какой-нибудь логгер памяти. Сегодня же вспомнил про файл подкачки, и поднял его допустимый объём с пары гигабайт до 8, и такое ощущение, что те ситуации, где раньше ComfyUI молча падал - теперь работают нормально, даже простенькая 512-inpainting-ema.safetensors начала работать, потребление памяти в пике было, по-моему, 22 ГБ при 16 ГБ RAM физических. Теперь осталось поднять файл подкачки гигов до 16 -ти а может и больше и протестить все остальные модели, которые собирался запустить.