计算机图形学编程语言 Taichi(太极)发布 1.0.0 版本

发布时间

计算机图形学编程语言 Taichi 太极将于v1.0.0于2022年4月13日发布。

版本支持

Python 3.10支持 此版本支持所有支持的操作系统(Windows、macOS和Linux)上的Python 3.10。

适用环境

在v1.0.0之前,太极只适用于支持glibc 2.27+的Linux发行版(例如Ubuntu 18.04+)。从1.0.0版本开始,除了普通的太极轮,太极还提供了许多兼容linux2014的轮子,可以在大多数现代Linux发行版上运行,包括CentOS 7。

正常车轮支持所有后端;即将推出的兼容manylinux2014的轮子只支持CPU和CUDA后端。选择最适合你的轮子。

如果在安装轮子时遇到任何问题,请先尝试将pip升级到最新版本

废弃

  1. 此版本弃用ti.ext_arr()而改用ti.types.ndarray()。ti.types.ndarray()支持太极ndarray和外部数组,例如NumPy数组。
  2. 太极计划在下一个小版本(v1.1.0)中取消对Python 3.6的支持

新功能

非python环境下的部署解决方案

编译后的太极内核可以从Python进程中保存,然后由提供的c++运行时库加载和运行。通过一组api,你的Python/太极代码可以很容易地部署在任何c++环境中。我们通过将v0.9.0中发布的隐式FEM(有限元方法)演示移植到一个Android应用程序来演示这个工作流的简单性。下载Android包并找出什么太极AOT提供

代码语言:javascript
复制
# In Python app.py
module = ti.aot.Module(ti.vulkan) 
module.add_kernel(my_kernel, template_args={'x': x})
module.save('my_app')

太极函数内联

在编译期间,所有太极函数都内联到太极内核中。但是,如果内核有太多太极函数调用,它就会变得很长,并且需要更长的编译时间

字面值的类型注释

你可以用ti.Loop_config来控制后续顶级for循环的行为。

顶级循环配置

这个版本增加了一个数学模块来支持GLSL标准的矢量操作,并使将GLSL着色器代码移植到太极更容易

矢量初始化和混合

你可以使用rgba, xyzw, uvw属性来获取和设置向量条目:

代码语言:javascript
复制
import taichi.math as tm

@ti.kernel
def example():
v = tm.vec3(1.0) # (1.0, 1.0, 1.0)
w = tm.vec4(0.0, 1.0, 2.0, 3.0)
v.rgg += 1.0 # v = (2.0, 3.0, 1.0)
w.zxy += tm.sin(v)

矩阵乘法