Погонял llama.cpp на пяти NVIDIA CMP 90HX и сравнил layer split с tensor split.
Конфигурация:
5 × NVIDIA CMP 90HX по 10 ГБ
суммарно llama.cpp видит 49 383 MiB VRAM
4 карты подключены по PCIe x8
1 карта подключена по PCIe x4
применен rejoin15
модель - Qwen3.8-27B-Heretic
квант - Q8_0
размер GGUF - 26.62 GiB
параметров - 26.90B
llama.cpp build e107984
распределение по GPU - 1/1/1/1/1
все слои загружены на GPU
KV cache - F16, тоже на GPU
Flash Attention - auto
С tensor split картина получилась довольно интересная.
На пустом контексте генерация выросла с 23.76 до 31.93 tok/s. Это примерно +34%.
На 32K контекста - с 22.15 до 31.06 tok/s, то есть уже около +40%.
Для чистой генерации tensor split реально быстрее.
Но есть обратная сторона - prompt processing просел очень сильно.
На пустом контексте:
Layer - 1992.67 tok/s
Tensor - 268.46 tok/s
На 32K:
Layer - 1457.97 tok/s
Tensor - 246.84 tok/s
То есть обработка входного контекста в tensor split получилась примерно в 6-7 раз медленнее.
На 64K tensor-тест дальше не пошел - модель выгрузилась из памяти. Причину пока отдельно не разбирал, поэтому данные для tensor на 64K, 96K и 128K не привожу.
Layer split при этом нормально прошел весь тест до 128K.
Скорость генерации по мере заполнения контекста:
0K - 23.76 tok/s
32K - 22.15 tok/s
64K - 20.75 tok/s
96K - 19.53 tok/s
128K - 18.44 tok/s
То есть даже при 128K контекста dense-модель на 26.9B параметров в Q8 все еще работает со скоростью около 18.4 tok/s.
Prompt processing тоже падает постепенно, без резкого провала:
0K - 1992.67 tok/s
32K - 1457.97 tok/s
64K - 1136.52 tok/s
96K - 916.35 tok/s
128K - 724.86 tok/s
Для обычного чата tensor split может быть интересен, если контекст короткий, а ответы длинные. Там прирост с 24 до 32 tok/s ощущается.
Но если чат уже большой и модель каждый раз должна перерабатывать много входных токенов, выгода быстро начинает пропадать из-за очень медленного prefill.
Для кодового агента вроде Hermes я бы оставил layer split.
Агент постоянно читает файлы, получает куски исходников, и добавляет все это в контекст. В таком режиме скорость обработки входа важнее, чем дополнительные 8 tok/s на генерации.
Плюс layer split у меня стабильно работает вплоть до 128K, а tensor пока отвалился уже при переходе к 64K.
Итог пока такой:
Сами CMP 90HX тоже порадовали. Qwen3.8-27B dense Q8 дает около 24 tok/s на пустом контексте и около 18.4 tok/s на 128K.
После того как выкрутил вентиляторы на 100%, самая горячая карта держится примерно на 65 градусах.