Triton 1.0: язык программирования GPU для нейросетей

OpenAI представила open-source язык программирования Triton для графических процессоров. Triton схож с Python и позволяет не имеющим опыта работы с CUDA пользователям писать высокоэффективный код.

Triton, впервые представленный в 2019-м году на Международном семинаре по машинному обучению и языкам программирования, упрощает разработку специализированных функций-ядер, которые могут быть намного быстрее, чем в библиотеках общего назначения. Компилятор Triton упрощает код, автоматически оптимизирует и распараллеливает его, преобразуя в код для выполнения на последних графических процессорах Nvidia (CPU и графические процессоры AMD, а также платформы, отличные от Linux, в настоящее время не поддерживаются).

Ключевой особенностью Triton является возможность быстрого написания года, при выполнении которого достигается максимальная производительность видеокарт. Например, его можно использовать для написания функций-ядер, перемножающих FP16-матрицы с производительностью, соответствующей функции библиотеки cuBLAS, и размером менее 25 строк. Как утверждают в OpenAI, Triton позволяет создавать функции-ядра, в 2 раза превышающие по производительности аналогичные реализации Torch.

Из существующих доменных языков и JIT-компиляторов Triton сильнее всего похож на Numba: функции-ядра определяются как Python-декораторы и запускаются одновременно с различными идентификаторами на сетке инстансов. Первая стабильная версия Triton вместе с документацией доступна в репозитории проекта на GitHub.

Подписаться
Уведомить о
guest

2 Comments
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Иван

вот только он работает в паре с pytorch. И какой смысл в нем? я могу работать на pytorch и без тритон. А для кастом кернелов можно использова CuPy

Top Secret

Ох…

Последний раз редактировалось 3 лет назад Top Secret ем

gogpt