Ruda Документация
English | 简体中文 | 日本語 | Deutsch | Русский
От вашего первого ядра GPU до вычислений библиотек, тензорного обучения и вывода локальных моделей. Начните со своей задачи, затем изучите руководства по программированию и ссылки на API.
Начните здесь
| Ваша задача | Путь чтения |
|---|---|
| Запустите свое первое ядро GPU. | Установка и быстрый запуск → Руководство по программированию |
| Используйте матричные, разреженные операции или операции нейронной сети. | Вычислительные библиотеки → Тензоры и фреймворки |
| Обучайте модели, накапливайте градиенты и сохраняйте состояние | Состояние обучения и сохранения |
| Загружайте локальные модели, генерируйте текст или обрабатывайте изображения | Загрузка и вывод модели |
Начало работы
- Установка и быстрый запуск: настройка исходного кода, выбор бэкенда и первый пример.
- Примеры и учебные пособия: сложение векторов, тензоры, общая память и половинная точность.
Руководства по программированию
- Ruda руководство по программированию: код хоста и устройства, иерархия выполнения, память, синхронизация и безопасность.
- Тензоры и платформы: тензоры устройств, диспетчеризация библиотек, объединение и автоматическое дифференцирование.
- Состояние обучения и сохранения: этапы обучения, накопление градиента, планирование скорости обучения, сохранение и восстановление.
- Распределённое обучение, rank и устройства: rendezvous, размещение, порядок коллективов, взвешенные градиенты и восстановление каждого rank.
- Архитектурные компоненты и Python Muon: mHC, DSA/CSA/HCA, сжатый KV-кэш и гибридные модели.
- Дообучение LoRA/NF4: выбор слоёв, подготовка весов, каузальный loss, checkpoint и восстановление.
- Компилятор моделей PyTorch: AOT forward/backward, native-секции, настройки и кэш.
- Графы PyTorch с фиксированными адресами: GraphOp, срок жизни output и обучение первого порядка.
- Загрузка и вывод модели: ruLLM, ввод текста и изображений, выборка, AWQ и непрерывная пакетная обработка.
Компиляция и выполнение
- Руководство по компилятору: интерфейс ядра Rust, IR, CUDA C++/NVRTC и прямой PTX.
- PTX ссылка на внутреннюю часть: целевая конфигурация, выходные данные компиляции, ограничения и ошибки.
- Общий autotuning стека: кандидаты, проверка, время, policy и кэш.
API ссылки
- Runtime API: клиенты устройств, память, передача, обратное чтение и синхронизация.
- Драйвер API и серверные части: типы серверных частей, выбор устройств и интеграция во время выполнения.
- Нативный PyTorch API: версии компонентов, контракты тензоров, оптимизаторы, stream и attention.
- Справочник по вычислительной библиотеке: выбор библиотеки, функции Cargo и точки входа.
Вычислительные библиотеки
| Библиотека | Руководство |
|---|---|
| ruBLAS | Линейная алгебра и групповое умножение матриц |
| ruDNN | Операции нейронной сети и MoE |
| ruPRIM | Сокращения, сканирование и индексирование |
| ruFFT | Быстрое преобразование Фурье |
| ruRAND | Генерация случайных чисел |
| ruSPARSE | Разреженные вычисления |
| ruCCL | Коллективное общение |
Отладка и совместимость
- Отладка и диагностика: ошибки компиляции, асинхронные ошибки, кэширование и числовые проверки.
- Руководство по совместимости: концепции CUDA, различия в бэкенда, а также API и границы компиляции.
- Содействие: сообщение о проблемах и правилах разработки.
Для первого проекта следуйте краткому руководству, руководству по программированию и соответствующему руководству по библиотеке. При разработке серверных частей или ядер обращайтесь к компилятору и ссылкам на API.