Платформа NVIDIA для CUDA на Rust: runtime-крейты для хоста и модели SIMT и Tile для написания GPU-ядер на Rust.
taichi-dev/taichi
Встраиваемый в Python язык программирования, который JIT-компилирует численные ядра для запуска на CPU и GPU, включая CUDA, Vulkan и Metal.
- Звёзды
- 28,450
- Форки
- 2,392
- Открытые issues
- 926
- Последний коммит
- в прошлом месяце
Что это?
Taichi Lang — императивный язык параллельного программирования для высокопроизводительных численных вычислений, встроенный в Python. Функции с декоратором @ti.kernel компилируются на лету с помощью инструментария на базе LLVM в нативные инструкции CPU или GPU. Благодаря этому ресурсоёмкий код на Python может выполняться параллельно без переписывания на C++ или CUDA.
Синтаксис языка близок к Python, а сам язык интегрируется с NumPy и PyTorch. Контейнеры данных, называемые SNodes, позволяют описывать иерархические многомерные поля, в том числе пространственно-разреженные структуры. Код пишется один раз и может работать на поддерживаемых бэкендах, таких как CUDA, Vulkan, OpenGL, Apple Metal и CPU с архитектурами x64/ARM.
В проект также входят поддержка дифференцируемого программирования и 3D-визуализатор на базе Vulkan. В галерее и примерах показаны физическое моделирование, рендеринг и гидродинамика.
Ключевые возможности
- 01Пишите ядра с синтаксисом Python и JIT-компилируйте их в код для CPU или GPU.
- 02Работает с CUDA, Vulkan, OpenGL, Apple Metal и CPU с архитектурами x64/ARM.
- 03Поддерживает пространственно-разреженные структуры данных с помощью контейнеров SNode.
- 04Интегрируется с NumPy и PyTorch.
- 05Включает поддержку дифференцируемого программирования и 3D-визуализатор на базе Vulkan.
Сценарии использования
- Ускорение численных симуляций на Python, например моделирования жидкостей, частиц и физических систем.
- Создание прототипов GPU-алгоритмов без ручного написания кода на CUDA или шейдеров.
- Разработка дифференцируемых конвейеров для физики или графики.
- Создание экспериментов с рендерингом или визуальными эффектами, требующих параллельных вычислений.
Быстрый старт
- 1
Установите Taichi с помощью pip
pip install taichi - 2
Запустите галерею демонстраций
ti gallery
Что важно знать
- Только Python 3.6–3.10, 64-разрядная версия.
- Предварительные nightly-пакеты могут аварийно завершаться, поскольку они не прошли полное тестирование.
В подборках
Темы
Частые вопросы
- Что такое taichi?
- Встраиваемый в Python язык программирования, который JIT-компилирует численные ядра для запуска на CPU и GPU, включая CUDA, Vulkan и Metal. Taichi Lang — императивный язык параллельного программирования для высокопроизводительных численных вычислений, встроенный в Python. Функции с декоратором @ti.kernel компилируются на лету с помощью инструментария на базе LLVM в нативные инструкции CPU или GPU. Благодаря этому ресурсоёмкий код на Python может выполняться параллельно без переписывания на C++ или CUDA.
- taichi можно использовать бесплатно? Какая у него лицензия?
- taichi распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- taichi всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в taichi — 5 окт. 2026 г..
- Для чего можно использовать taichi?
- Ускорение численных симуляций на Python, например моделирования жидкостей, частиц и физических систем. Создание прототипов GPU-алгоритмов без ручного написания кода на CUDA или шейдеров. Разработка дифференцируемых конвейеров для физики или графики. Создание экспериментов с рендерингом или визуальными эффектами, требующих параллельных вычислений.
- Как установить taichi?
- Установите Taichi с помощью pip: pip install taichi Запустите галерею демонстраций: ti gallery
- Где скачать taichi?
- Исходный код и инструкции по установке — на GitHub: https://github.com/taichi-dev/taichi
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Фреймворк для JIT-компиляции обычных Python-функций в ядра, работающие на CPU или GPU NVIDIA, для симуляций, робототехники и машинного обучения.
Симулятор квадрокоптеров на JAX для пакетного дифференцируемого моделирования дронов Crazyflie 2.x на CPU и GPU.
Header-only библиотека C++ для написания параллельных программ на основе графов задач с поддержкой многопоточности на CPU и вычислений на GPU через CUDA.
Профилировщик Python, показывающий загрузку CPU и GPU, а также потребление памяти для каждой строки кода; может предлагать оптимизации с помощью ИИ.
Библиотека C/C++ для оптимизации треугольных сеток: ускоряет их рендеринг на GPU и уменьшает размер хранения и передачи.