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


Taichi(太极)v1.1.0 已经发布,这是专为高性能计算机图形学设计的编程语言。

具体更新内容如下:

新的功能

量化数据类型

高分辨率模拟可以提供出色的视觉质量,但通常受到板载 GPU 内存容量的限制。此版本添加了量化数据类型,允许定义自己的整数、定点数或任意位数的浮点数,在硬件限制和模拟效果之间取得平衡。

有关该特性的全面介绍,请参阅使用量化数据类型。

离线缓存

Taichi 内核在第一次被调用时被隐式编译。编译结果保存在在线内存缓存中,以减少后续函数调用的开销。只要内核功能不变,就可以直接加载启动。

但是当程序终止时,缓存不再可用。 如果再次运行该程序,Taichi 必须重新编译所有内核函数并重建在线内存缓存。由于编译开销,Taichi 函数的第一次启动总是很慢。

为了解决这个问题,这个版本增加了离线缓存功能,它将编译缓存转储到磁盘以供将来运行。在随后的运行中,第一次启动的开销可以大大减少。

Taichi 现在默认构建并维护一个离线缓存。

正向模式自动微分

通过 ti.ad.FwdMode 添加正向模式自动微分。

与现有的计算向量雅可比积 (vJp) 的反向模式自动微分不同,正向模式在评估导数时计算雅可比向量积 (Jvp)。 因此,在函数的输出数量大于其输入的情况下,正向模式自动微分效率更高。

该例子演示了正向模式和反向模式下的雅可比矩阵计算。

SharedArray(实验性)

GPU 的共享内存是在每个线程块(或 Vulkan 中的工作组)中可见的快速小型内存,广泛用于性能优先的场景。

为了访问 GPU 的共享内存,此版本在命名空间 ti.simt.block 下添加了 SharedArray API。下图说明了 Taichi 的 SharedArray 的性能优势。 使用 SharedArray,Taichi Lang 可以媲美甚至优于等效的 CUDA 代码。

纹理(实验性)

Taichi 现在支持 Vulkan 和 OpenGL 后端的纹理双线性采样和原始纹理提取。此功能利用硬件纹理单元,并减少了在图像处理任务中手动组合双线性插值代码的需要。

此功能还为光栅化或光线跟踪等任务中的纹理映射提供了一种简单的方法。在 Vulkan 后端,Taichi 还支持图像加载和存储。可以直接操作图像的纹素,并在随后的纹理映射中使用该图像。

当前的纹理和图像 API 处于早期阶段,可能会发生变化。未来计划支持无绑定纹理以,扩展到光线追踪等任务。还计划将完整的纹理支持扩展到支持纹理 API 的所有后端。

 

其他一般改进和修复可查看更新公告:https://github.com/taichi-dev/taichi/releases/tag/v1.1.0

 


相关文章

2022-06-15

专为高性能计算机图形学设计的编程语言 Taichi(太极)已经发布 1.0.3 版本,这是一个维护版本,带来模块更新和一些 Bug 修复。主要内容如下: 模块 支持导入外部 Vulkan 缓冲区 ( #5020 ) 支持将 taichi 作为 AOT 模块的子目录 (

2022-07-19

v1.0.4 已经发布,这是专为高性能计算机图形学设计的编程语言。 具体更新内容如下: Highlights Documentation 修正错别字 (#5283) 更新 dev_install.md (#5266)  更新了 README 命令行 (#5199)  修改编译警告 (#5

2022-09-21

Taichi 是专为高性能计算机图形学设计的编程语言。 目前 Taichi v1.1.3 发布了,此版本带来大量改进,摘录如下: 模块 添加纹理接口到 C-API ( #5520 )  Bug修复 使用 MacOS 禁用 vkCmdWriteTimestamp ,以在 Vulkan

2022-08-19

Taichi 是专为高性能计算机图形学设计的编程语言。 目前 Taichi v1.1.2 发布了,这是 v1.1.0 的错误修复版本。 完整的变更日志: [杂项] 升级版本到 v1.1.2 [Bug] [type] 修复 codegen 中存储 quant 浮点数的错误类型 ( #5818 ) [bug]

2022-09-04

软件的权利,包括不受限制地使用、复制、修改、合并、发布、分发、转授许可和/或出售该软件副本,以及再授权被配发了本软件的人如上的权利,须在下列条件下: 上述版权声明和本许可声明应包含在该软件的所有副本或实

2022-09-10

同时支持 SCP 协议,它的主要功能是在本地与远程计算机间安全地复制文件,并且可以直接编辑文件。 目前,WinSCP 5.21.3 已经发布。该版本具体更新内容如下: 翻译更新:乌克兰语。 添加了新的me-central-1 AWS区域

2022-08-11

同时支持 SCP 协议,它的主要功能是在本地与远程计算机间安全地复制文件,并且可以直接编辑文件。 目前,WinSCP 5.21.2 已经发布。该版本具体更新内容如下: 翻译完成:波斯语。 TLS/SSL core 升级到 OpenSSL 1.1.1q。

2022-06-27

同时支持 SCP 协议,它的主要功能是在本地与远程计算机间安全地复制文件,并且可以直接编辑文件。 目前,WinSCP 5.21.1 已经发布。该版本具体更新内容如下: 翻译完成:波兰语。 TLS / SSL core 升级到 OpenS

2022-09-10

对话与听觉专委会委员、CCF智能汽车分会执行委员、CCF女计算机工作者委员会委员,曾获中国科学院杰出科技成就奖,是微软亚洲研究院“微软学者”奖学金获得者等。 AICON 2022 报名链接:https://www.bagevent.com/event/8286772?preview=1

2022-09-01

代码:优化了墨干阅读和编辑代码的体验 界面:图标由太极风格的砚台改为书法风格的墨干二字 幻灯片:大量主题资源文件内置,避免由网络不畅引起的错误 样式:为中文文档做了大量样式调整,尽可能避免使用斜体

2022-09-09

Blender 是一个免费和开源的 3D 计算机图形软件工具集,用于创建动画电影、视觉效果、艺术、3D 打印模型、交互式 3D 应用、VR 和计算机游戏。 近日,Blender 3.3 正式发布,值得注意的是,Blender 3.3 是一个长期支持(LTS)版本,提

2022-06-09

Blender 是一个免费和开源的 3D 计算机图形软件工具集,用于创建动画电影、视觉效果、艺术、3D 打印模型、交互式 3D 应用、VR 和计算机游戏。 近日,Blender 3.2 正式发布,该版本的更新内容如下: 新的 Cycles 渲染 有一种新类型

2022-09-17

Khronos Group 发布了 OpenCL 3.0.12,这是最新的跨异构平台计算标准,OpenCL 让显示芯片(GPL)也能为通用软件提供计算能力的标准,简单来说就是 GPU 可以帮忙干 CPU 的活儿。 OpenCL 全称 Open Computing Language,是第一个面向异构系统通

2021-11-18

织的执行董事兼 CEO。公告指出,这是该组织为支持 Rust 编程语言的快速创新和采用而努力迈出的重要一步。在 Rumbul 的领导下,他们将继续推进对 Rust 语言维护者的工作的支持。 根据介绍,Rumbul 在国际非营利组织管理方