Open AI оказывается уже давненько выкатил интересный язык TRITON - конкурент CUDA, позволяющий разительно проще писать программы при всём при этом бенефитя от использования Local Shared Memory и прочих плюшек, нацеленных на уменьшение потребляемого bandwidth-а. напомню, что сейчас по сути bandwidth - основное бутылочное горлышко GPUs.
Зацените пример кодинга Softmax-а. Компилятор сам аллоцирует SM для локального суммирования чисел в текущем ThreadBlock-е, вставляет __syncthreads(), и далее продолжает thread-independent исполнение
И всё это еще с масками. поддерживают указатели! (их блин даже в Вулкане полноценно еще нет 🥹)
Для понимание именно такое задание я вчера дал своим студентам для пар по GPGPU на Vulkan-е (типа CUDA только граф. API) и решение на нём выглядит куда более громоздким)
Узнал же я про него через новый фреймворк для обучение и исполнения NERFов, т.к. они использовали Triton в качестве языка. Скоро может разберусь как он там устроен)
P.s. OpenAI ищет для его развития компайлер-прогера
Post #33
230

- 🔥 3