「v1.0.0」用 Taichi AOT 方案将特效部署到移动端
Taichi 语言最擅长的物理模拟在移动端有着潜力巨大的应用场景,比如手机游戏中更接近真实物理世界的交互或是短视频中更加炫酷的视觉特效,Taichi 的简单易用、跨平台的 GPU 加速支持等特性都是这些应用场景不可或缺的部分。
但是 Taichi 语言的前端嵌入在 Python 中, 由于厚重的虚拟机设计,Python 往往难以被嵌入到其他宿主语言的环境内,在部署侧不是最理想的选择。所以如何让 Taichi 的用户既能够享受 Python 带来的快速迭代,又能无缝地部署到实际的工业场景中是 Taichi 一直在思考的问题。
不止于 Python
今天,我们很高兴地向大家介绍 Taichi 与 OPPO US Research Center 联合开发的 AOT 部署方案。AOT 全称是 Ahead-of-time,是一种预编译机制。与 Taichi 本身嵌入在 Python 里,对 Python 代码做即时编译(Just-in-time, JIT)不同;AOT 机制会将你所需要的 Taichi kernels 编译成指定计算后端的指令,具体来说即一个个 SPIR-V shaders 文件。这些 shaders 随即可以被 Taichi 提供的 C++ AOT 运行时库加载并运行。
我们选择了 Vulkan 作为 AOT 方案最开始支持的 GPU 运行后端。Vulkan 的优势非常明显:跨平台可移植性、良好而严谨的 API specification、愈加完善的软硬件生态等等。当然,Taichi 的一大优势就是其全平台部署的能力 (universal deployment)。Vulkan 只是起点,Taichi 团队也在加紧开发对其他平台(Apple Metal, OpenGL 以及 CUDA 等)的支持,也非常欢迎工业界和学术界有类似需求的小伙伴一起参与到开发中来。
视频炸裂,谨慎点击。👇
扫描下方二维码,即可下载体验 Taichi AOT!(需安卓 10 以上机型)
点击阅读原文跳转知乎,通过实例完整阅读如何将 Taichi 程序部署并运行到安卓手机。