用 Taichi AOT 方案将特效部署到移动端
时间:2022-10-02 19:51:29 阅读:94
Taichi语言最擅长的物理模拟在移动端有着潜力巨大的应用场景,比如手机游戏中更接近真实物理世界的交互或是短视频中更加炫酷的视觉特效,Taichi的简单易用、跨平台的GPU加速支持等特性都是这些应用场景不可或缺的部分。
但是Taichi语言的前端嵌入在Python中,由于厚重的虚拟机设计,Python往往难以被嵌入到其他宿主语言的环境内,在部署侧不是最理想的选择。所以如何让Taichi的用户既能够享受Python带来的快速迭代,又能无缝地部署到实际的工业场景中是Taichi一直在思考的问题。
今天,我们很高兴地向大家介绍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 https://taichi-lang.cn/
但是Taichi语言的前端嵌入在Python中,由于厚重的虚拟机设计,Python往往难以被嵌入到其他宿主语言的环境内,在部署侧不是最理想的选择。所以如何让Taichi的用户既能够享受Python带来的快速迭代,又能无缝地部署到实际的工业场景中是Taichi一直在思考的问题。
今天,我们很高兴地向大家介绍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 https://taichi-lang.cn/
郑重声明:文章内容来自互联网,纯属作者个人观点,仅供参考,并不代表本站立场 ,版权归原作者所有!
相关推荐