Есть такая игра TrackMania, я вам уже про неё когда-то давно писал. Это очень аркадная гонка. Настолько аркадная, что автомобили на трассе никак друг с другом не взаимодействуют (вы не можете столкнуться с соперником, просто проедете сквозь него), и задача игрока состоит в том, чтобы сражаться со сложностью трассы. А трассы обычно включают в себя прыжки, мёртвые петли, движение по стенам и так далее.
Разумеется, нужно пройти трассу быстрее, чем остальные. "Пройти трассу" с точки зрения движка игры означает следующее: корпус автомобиля в любом порядке пересекает чекпоинты, а затем попадает в область финиша. Ещё физический движок у игры идемпотентный: одинаковый набор управляющих воздействий всегда в точности приводит к тому же положению автомобиля и тем же векторам линейной и угловой скорости.
Это создаёт ситуацию, при которой повтор прохождения игроком какой-либо трассы можно записать просто как цепочку нажатий на клавиши управления в заданные моменты времени. Так что игроки могут этими повторами обмениваться и соревноваться асинхронно: один проходит трассу за 2 минуты и 19 секунд, загружает свой результат в сеть, а другой через неделю соревнуется и с ним и побеждает, проходя трассу за 2 минуты 18 секунд.
Вокруг этой игры создалось очень большое и активное сообщество людей, которые друг с другом соревнуются и ставят рекорды. Эти игроки проводят в TrackMania десятки часов в неделю, и зачастую сами себе создают челленджи. Например, пройти все трассы в игре, никогда не поворачивая вправо. Или пройти задним ходом. Или даже с закрытыми глазами, ориентируясь по звукам и таймеру. Ещё в игре есть редактор трасс, и поэтому сообщество создаёт очень сложные многоуровневые треки для всех желающих.
Так вот, интересный момент. Как я уже говорил, движок засчитывает прохождение по довольно формальным признакам. Поэтому технически совсем не обязательно проехать на машине по дороге. Если вы каким-то образом заставите машину взлететь и проскакать с более быстрой скоростью — это валидный рекорд. И сообщество тоже такое принимает и даже всячески восхищается игроками, которые смогли обмануть игровой движок и найти, что называется, shortcut. Профессиональные игроки владеют набором специальных багов. Например, если определённым образом поставить машину боком под правильным углом с правильной скоростью, трение торможения уменьшится, и можно будет пройти какой-то кривой участок быстрее. Ещё можно под нужным углом удариться о поверхность и отскочить от неё куда требуется. И таких обманов движка пара десятков. Нередко игрокам приходится их комбинировать, поэтому они сидят десятки и сотни часов, проходя одну и ту же трассу, чтобы получить идеальное стечение обстоятельств ради улучшения времени на одну сотую секунды. Не преувеличиваю.
При этом, однако же, читерство и "внешние" обманы в игре очень сильно критикуются. Если тебя заподозрят в использовании программы, которая за тебя нажимает клавиши, или в какой-нибудь подделке памяти — это смерть для твоей репутации в сообществе.
Вот какое дело получается: разработчики заложили формальные правила игры (ехать на машине по дороге), и нарушение этих правил поощряется. Но нарушение правил игрового движка уже жёстко критикуется. Чисто практически разница между этими правилами очень условная: и то, и другое это отступление от игры в том виде, в котором игра задумана. Но людям нужно было где-то поставить границу, после которой издевательство над игрой уже не обладает зрелищностью и спортивной составляющей, так и получилось.
На видео ниже норвежский про-игрок с ником Wirtual рассказывает об одном из таких случаев, по-моему, очень интересно и напряжённо вышло :)
#games
https://www.youtube.com/watch?v=_b67SC7Y4qA
#cuda
DeepEP is a special communication library for Mixture-of-Experts (MoE) models. It helps these models work faster and more efficiently by improving how data is shared between different parts of the system. DeepEP supports low-precision operations and can handle data transfer between different types of connections, like NVLink and RDMA. This makes it very useful for both training and using AI models, especially when speed is important. Users benefit from faster processing times and better performance overall.
https://github.com/deepseek-ai/DeepEP
#rust#cuda#rust
ZLUDA is a software that lets you run CUDA programs, originally made for NVIDIA GPUs, on AMD Radeon RX 5000 series and newer GPUs without changing the programs. It aims to give near-native performance on non-NVIDIA hardware, making CUDA applications more accessible. Currently, ZLUDA is still being developed and mainly supports Geekbench tests, so it might not work perfectly with all applications yet. It works on Windows and Linux but not on MacOS. If you have an AMD GPU and want to try running CUDA apps without an NVIDIA card, ZLUDA could be very useful as it opens up more hardware options for CUDA software[3][5].
https://github.com/vosen/ZLUDA
🌟CUDA-L2: ИИ научился писать CUDA-ядра эффективнее инженеров NVIDIA.
Исследовательская группа DeepReinforce разработала систему полностью автоматического написания GPU-кода для матричного умножения под названием CUDA-L2.
Этот код работает на 10–30% быстрее, чем cuBLAS и cuBLASLt, а это, на минуточку, уже оптимизированные библиотеки от самой NVIDIA.
Обычно такие библиотеки создаются вручную людьми, которые используют готовые шаблоны ядер. А автотюнеры лишь подкручивают параметры, например, размер тайлов.
Но DeepReinforce считают, что даже критически важные и глубоко оптимизированные задачи, как HGEMM, могут быть улучшены с помощью LLM, работающей в связке с RL.
В системе CUDA-L2 языковая модель буквально пишет исходный код CUDA с нуля для каждого размера матрицы. Она не просто меняет параметры, она может менять структуру кода, циклы, стратегию тайлинга, паддинг и даже свизл-паттерны. А еще, она сама выбирает стиль программирования - будь то сырой CUDA, CuTe, CUTLASS или inline PTX.
Процесс выглядит так: цикл RL запускает сгенерированные ядра на реальном железе, измеряет скорость и корректность, а затем обновляет LLM. Со временем модель выводит свои собственные правила производительности, вместо того чтобы полагаться на знания, заложенные людьми.
В качестве генератора использовалась модель DeepSeek 671B. Ее дополнительно доучили на смеси массива CUDA-ядер и качественном коде из библиотек PyTorch, ATen, CUTLASS и примеров от NVIDIA.
🟡Что это дает на практике
Для претрейна и файнтюна LLM большая часть времени GPU тратится именно на операции матричного умножения HGEMM. Если ускорить эти ядра на те самые 10–30%, которые обещает CUDA-L2, то весь процесс обучения становится заметно дешевле и быстрее.
Поскольку CUDA-L2 обрабатывает около 1000 реальных размеров матриц, а не пару вручную настроенных, ускорение работает для самых разных архитектур. Это значит, что в тот же бюджет на GPU можно вместить больше токенов обучения, больше прогонов SFT или RLHF и т.д.
🟡Тесты
HGEMM-ядра, созданные CUDA-L2, стабильно быстрее стандартных библиотек.
В так называемом "оффлайн-сценарии" CUDA-L2 работает примерно на 17–22% быстрее, чем torch.matmul, cuBLAS и cuBLASLt. Она даже на 11% обгоняет cuBLASLt AutoTuning, который сам по себе уже использует поиск ядра.
А в "серверном", сценарии, который имитирует реальный инференс с паузами между вызовами - разница еще больше: буст в 24–29% по сравнению с torch.matmul и cuBLAS.
Простым рисёрчем проект не ограничен, в репозитории на Github авторы выложили оптимизированные ядра HGEMM A100 для 1000 конфигураций.
В планах: расширение на архитектуры Ada Lovelace, Hopper, Blackwell, поддержка более плотных конфигураций и 32-битный HGEMM.
🟡Arxiv
🖥GitHub
@ai_machinelearning_big_data
#AI#ML#CUDA#DeepReinforce
🌟Фреймворк **CUDA-L1** сам научился оптимизировать код для GPU — и добился в среднем **3.12× ускорения работы модели**, а в пике — **до 120×**. .
Попросите любую LLM написать CUDA-код, и скорее всего, вы получите что-то, что либо не компилируется, либо работает мучительно медленно. Причина проста: качественного CUDA-кода в обучающих данных моделей почти не было.
Чтобы исправить это досадное упущение, Deep Reinforce AI создали систему CUDA-L1, которая основана на трехэтапном пайплайне: сначала supervised-обучение для освоения основ, затем self-supervised для практики и, наконец, контрастное обучение с подкреплением, чтобы было все максимально быстро.
🟢На первом этапе система училась писать корректный и компилируемый CUDA-код.
Для этого существующий код был аугментирован - создавались его вариации, чтобы повысить насмотренность модели.
🟢На втором этапе модель генерировала собственный CUDA-код, тестировала его и училась на работающих примерах, отсеивая неудачные.
🟢Самое интересное - третий этап.
Обучаемой модели показывали несколько реализаций CUDA-ядер вместе с их показателями ускорения, например: «kernel_v1 дает ускорение 1.2x», «kernel_v2 — 2.8x», а «kernel_v3 — 1.5x». Затем задали 3 вопроса:
🟠Почему kernel_v2 настолько быстрее?
🟠Какая стратегия оптимизации сработает еще лучше?
🟠Напиши ядро, которое превзойдет их все.
Таким образом, модель не гадает вслепую, а учится на конкретных примерах, анализируя причины разницы в производительности.
🟡Отдельная история - как победили reward hacking.
После обучения выяснилось, что более 30% сгенерированных реализаций пытались сжульничать - создавали дополнительные CUDA-потоки, которые выполнялись асинхронно.
Поскольку бенчмарк KernelBench отслеживал время только на основном потоке, код выглядел быстрее, чем был на самом деле, показывая фиктивное ускорение в 18 раз.
Другие уловки состояли в манипуляции гиперпараметрами задачи (уменьшение batch_size или размерностей) и кеширование результатов вычислений.
🟡Пришлось строить многоуровневую защиту.
Во-первых, в качестве "адвоката дьявола" взяли adversarial-чекер на базе DeepSeek-R1, который анализировал код на предмет эксплойтов с точностью обнаружения более 60%.
Во-вторых, собрали базу данных из более чем 500 уникальных паттернов взлома, это повысило точность обнаружения на 25%.
И в-третьих, применили математическое сглаживание и нормализацию наград, где любое подозрительное ускорение (от 1.5x для простых операций) дополнительно проверялось.
🟡После всех фильтров и проверок прогон на бенчмарке KernelBench оказался весьма позитивными.
Система успешно сгенерировала рабочий код для 249 из 250 задач, причем в 240 случаях код оказался быстрее базовой реализации.
Среднее ускорение по всем задачам составило 3.12 раза, максимальное - аж 120 раз. Медианное ускорение (50-й перцентиль) составило 1.42x, а 75-й перцентиль — 2.25x.
Производительность по уровням сложности задач распределилась следующим образом: на простых операциях среднее ускорение составило 2.78x, на последовательностях операторов - 3.55x, а на сложных задачах вроде полных слоев трансформера - 2.96x.
🟡Самое важное - это переносимость оптимизаций.
Код, оптимизированный на NVIDIA A100, был протестирован на других GPU. Результаты показали, что найденные паттерны оптимизации фундаментальны и работают на разных архитектурах.
Среднее ускорение на H100 составило 2.39x (успешных ускорений 227 из 250), на L40 — 3.12x (228/248), а на потребительской RTX 3090 — 2.50x (213/242).
▶️ Пока веса и код не опубликованы, но в ожидании можно покрутить интерактивное демо и воспроизвести тесты из пейпера - в репозитории проекта есть фрагменты CUDA-кода с отдельными версиями для разных GPU.
📌Лицензирование: GPL-3.0 License.
🟡Страница проекта
🟡Arxiv
🟡Demo
🖥Github
@ai_machinelearning_big_data
#AI#ML#CUDA#DeepReinforce#ContrastiveRL
🚀 SakanaAI представил Robust Agentic CUDA Kernel Optimization
Это новый подход, где LLM помогает оптимизировать CUDA-ядра для PyTorch.
• Слияние операций ускоряет forward/backward-проходы, результаты выше стандартных Torch-базлайнов
• Полный пайплайн: PyTorch → генерация CUDA-кода → эволюционная оптимизация во время работы
• Проверка через LLM: модели автоматически отмечают неправильные ядра (дает +30% к производительности)
• robust-kbench — собственный бенчмарк, где измеряют не только скорость, но и корректность работы LLM
Авторы пишут о 2.5x ускорении над PyTorch eager и даже 6x в линейных операциях❗️
Но большинство примеров — это тесты на слияние операций с неотюненной базой, так что цифры спорные.
К тому же PyTorch 2.5 уже внедряет похожие оптимизации ), поэтому такие рекорды могут быстро обесцениться.
Это интересный подход к самообучающимся AI-компиляторам, но заявленные ускорения стоит проверять на праактике.
🟢Github: https://github.com/SakanaAI/robust-kbench
🟢Статья: https://arxiv.org/abs/2509.14279
@ai_machinelearning_big_data
#AI#CUDA#PyTorch#SakanaAI#LLM#Optimizatio
#c_lang#cuda#cuda_driver_api#cuda_kernels#cuda_opengl
You can use the CUDA Samples from NVIDIA to learn and test CUDA Toolkit 12.9 features by downloading them from GitHub or as a ZIP file. These samples show how to use CUDA for GPU programming, including utilities, concepts, libraries, and performance optimization. You build them with CMake on Linux, Windows, or Tegra devices, and can run tests automatically with a provided Python script. This helps you understand CUDA programming, debug GPU code, and optimize your applications for better performance on NVIDIA GPUs. It’s a practical way to develop and improve GPU-accelerated software efficiently.
https://github.com/NVIDIA/cuda-samples
#typescript#ai#cuda#mlx#qwen3_tts#qwen3_tts_ui#voice_ai#voice_clone#whisper
Voicebox is a free, open-source voice synthesis studio that lets you clone voices, generate speech in 23 languages, and apply audio effects—all running privately on your computer. You can create realistic voice clones from just seconds of audio, use five different text-to-speech engines for different needs, add effects like reverb and pitch shift, and build multi-voice projects with a timeline editor. The key benefit is complete privacy: your voice data and AI models never leave your machine, unlike cloud-based alternatives. It also includes an API for building voice-powered applications and works across Mac, Windows, and Linux with GPU acceleration support.
https://github.com/jamiepine/voicebox