× Install ThecoreGrid App
Tap below and select "Add to Home Screen" for full-screen experience.
B2B Engineering Insights & Architectural Teardowns

Virtual Tensors устраняют data movement в DNN

Компиляция DNN упирается в data movement optimization. VTC предлагает virtual tensors, чтобы убрать лишние перемещения данных и снизить latency.

Проблема проявляется не сразу — до момента, когда ускорители начинают считать быстрее, чем память успевает подавать данные. В современных GPU разрыв между compute и memory latency растёт, и всё больше DNN становятся memory-bound. Особенно это заметно в inference крупных моделей, где доступ к глобальной памяти определяет latency сильнее, чем сами вычисления. Классические оптимизации, такие как operator fusion и layout transformation, работают только на части графа и пропускают значимые источники лишних перемещений.

VTC (Virtual Tensor Compiler) атакует проблему с другой стороны. Вместо физического перемещения данных между операторами он вводит virtual tensors — представление, где данные не копируются, а описываются через mapping function (индексацию). По сути, тензор становится функцией доступа к другим тензорам. Это позволяет компилятору устранять целые цепочки data movement операторов, сохраняя корректность вычислений. Архитектурно решение опирается на два механизма: граф возможностей (virtual tensor opportunity graph) для поиска вариантов и жадный алгоритм, который выбирает стратегию с максимальным снижением latency.

Ключевой инсайт — современным вычислительным ядрам нужна непрерывность (contiguity) только в локальной памяти, а не в глобальной. Это позволяет ослабить требования к layout и заменить копирование на вычисление адреса. В результате VTC устраняет лишние операции вроде Transpose, ScatterND или Expand без дополнительных kernel-вызовов. В экспериментах на GPU это даёт до 1.93× ускорения (в среднем 1.28×) и до 60% экономии памяти (в среднем 17.5%). В разборе слоя декодера LLM показано, что data movement может занимать больше времени, чем сами compute-операции — и именно этот слой оптимизации даёт наибольший эффект.

С практической точки зрения это выглядит как эволюционное расширение компилятора, а не замена существующих подходов. VTC не конфликтует с operator fusion или layout optimization, а дополняет их. Цена — более сложная логика адресации и потенциальные накладные расходы при неудачном mapping. Поэтому компилятор оценивает выгодность: полностью непрерывные (fully contiguous) случаи всегда выгодны, частично непрерывные — зависят от размера и паттерна доступа. Для инженерных команд это сигнал: дальнейший рост производительности DNN будет зависеть не от FLOPS, а от того, насколько агрессивно мы устраняем data movement на уровне компиляции.


Новостной источник

arXiv — крупнейший открытый репозиторий препринтов (с 1991, под эгидой Cornell), где учёные оперативно выкладывают рабочие версии статей; материалы общедоступны, но не проходят полноценную рецензии, так что результаты следует считать предварительными и по возможности проверять в обновлённых версиях или в рецензируемых журналах. arxiv.org

Посмотреть pdf-документ в источнике

×

🚀 Deploy the Blocks

Controls: ← → to move, ↑ to rotate, ↓ to drop.
Mobile: use buttons below.