Helion: A high-level DSL for performant and portable ML kernels
Helion — это высокоуровневый язык для создания производительных и переносимых ML-ядер, разработанный командой PyTorch в Meta. Он разрешает конфликт между производительностью и удобством, компилируя Python-встроенный DSL в автоматически настраиваемый код Triton. Helion создает новый уровень абстракции, сочетающий простоту PyTorch с производительностью низкоуровневых языков, автоматизируя рутинные задачи вроде индексации тензоров и управления памятью. Это позволяет разработчикам сосредоточиться на алгоритмической логике, а не на аппаратно-специфичных деталях.
Текущие языки вынуждают выбирать между контролем и производительностью: CUDA дает максимум контроля, но требует значительных усилий; Triton — шаг вперед, но все еще требует ручной настройки; PyTorch прост, но ограничен в детальном контроле. Программная модель Helion, описываемая как "PyTorch с тайлами", минимизирует шаблонный код и использует знания разработчиков в PyTorch. Типичное ядро Helion состоит из двух взаимодополняющих частей, что упрощает создание правильных и эффективных ядер.