太极编程语言
项目描述
pip install taichi # Install Taichi Lang
ti gallery # Launch demo gallery
什么是太极郎?
Taichi Lang 是一种用于高性能数值计算的开源命令式并行编程语言。它嵌入在 Python 中,并使用即时 (JIT) 编译器框架,例如 LLVM,将计算密集型 Python 代码卸载到本机 GPU 或 CPU 指令。
该语言具有广泛的应用,涵盖实时物理模拟、数值计算、增强现实、人工智能、视觉和机器人技术、电影和游戏中的视觉效果、通用计算等等。
为什么是太极郎?
- 围绕 Python 构建:Taichi Lang 与 Python 共享几乎相同的语法,允许您以最小的语言障碍编写算法。它还很好地集成到了 Python 生态系统中,包括 NumPy 和 PyTorch。
- 灵活性:Taichi Lang 提供了一组称为SNode (/ˈsnoʊd/) 的通用数据容器,这是一种用于组合分层、多维字段的有效机制。这可以涵盖数值模拟中的许多使用模式(例如空间稀疏计算)。
- 性能:使用
@ti.kernel
装饰器,Taichi Lang 的 JIT 编译器会自动将您的 Python 函数编译为高效的 GPU 或 CPU 机器代码以进行并行执行。 - 可移植性:编写一次代码并在任何地方运行。目前,Taichi Lang 支持大部分主流的 GPU API,例如 CUDA 和 Vulkan。
- ...以及更多功能!一个跨平台、基于 Vulkan 的 3D 可视化器、可微编程、 量化计算(实验性)等。
入门
安装
先决条件
- 操作系统
- 视窗
- Linux
- 苹果系统
- Python:3.6 ~ 3.10(仅限 64 位)
- 计算后端
- x64/ARM CPU
- CUDA
- 伏尔甘
- OpenGL (4.3+)
- 苹果金属
- WebAssembly(实验性)
使用 Python 的包安装程序pip安装 Taichi Lang:
pip install --upgrade taichi
我们还提供夜间套餐。请注意,夜间软件包可能会崩溃,因为它们没有经过全面测试。我们无法保证它们的有效性,您需要自行承担尝试我们最新的、未经测试的功能的风险。nightly 包可以从我们的自托管 PyPI 安装(使用自托管 PyPI 允许我们在更长的时间内提供更频繁的发布)
pip install -i https://pypi.taichi.graphics/simple/ taichi-nightly
运行你的“你好,世界!”
以下是在 Taichi 中编写 2D 分形的方法:
# python/taichi/examples/simulation/fractal.py
import taichi as ti
ti.init(arch=ti.gpu)
n = 320
pixels = ti.field(dtype=float, shape=(n * 2, n))
@ti.func
def complex_sqr(z):
return ti.Vector([z[0]**2 - z[1]**2, z[1] * z[0] * 2])
@ti.kernel
def paint(t: float):
for i, j in pixels: # Parallelized over all pixels
c = ti.Vector([-0.8, ti.cos(t) * 0.2])
z = ti.Vector([i / n - 1, j / n - 0.5]) * 2
iterations = 0
while z.norm() < 20 and iterations < 50:
z = complex_sqr(z) + c
iterations += 1
pixels[i, j] = 1 - iterations * 0.02
gui = ti.GUI("Julia Set", res=(n * 2, n))
for i in range(1000000):
paint(i * 0.03)
gui.set_image(pixels)
gui.show()
如果太极郎安装正确,你应该得到下面的动画