发布时间
计算机图形学编程语言 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升级到最新版本。
废弃
- 此版本弃用ti.ext_arr()而改用ti.types.ndarray()。ti.types.ndarray()支持太极ndarray和外部数组,例如NumPy数组。
- 太极计划在下一个小版本(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)