Проект llama.cpp выпустил сборку b10353, которая устраняет критическую ошибку в операции ggml_roll на бэкендах CUDA и Metal. Ранее переставленные (непрерывные) исходные тензоры выдавали неверные результаты без предупреждения, поскольку эти бэкенды игнорировали информацию о шаге.
- Исправление добавляет требование непрерывности источника для ядер roll как CUDA, так и Metal, согласуясь с существующей защитой GGML_OP_ROPE.
- Это изменение гарантирует, что планировщик будет использовать реализацию CPU для несплошных входных данных, которые правильно обрабатывают шаги.
- Была добавлена тестовая проверка permuted test_roll для подтверждения исправления.
Это обновление предотвращает повреждение данных в моделях, использующих операции ROLL с нестандартными layouts памяти.