Skip to main content

太极编程语言

项目描述


最新发布的 下载 CI 每晚发布

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()

如果太极郎安装正确,你应该得到下面的动画