“太极”跟“冰雪奇缘”这两个看似毫不相干的词汇是如何同框的?让我们跟随胡渊鸣博士的讲述来了解Taichi从诞生到走向大众面前再到“成人礼”再到茁壮成长的故事。希望Taichi的开源创业之路给大家的生产实践带来共鸣与帮助。
本文整理自太极图形联合创始人、首席执行官胡渊鸣在DIVE全球基础软件创新大会2022(创业与投资专场)的演讲分享,主题为“Taichi的开源与创业故事”。
分享主要分三个部分展开:第一部分Taichi及其演化历史,第二部分Taichi开源社区的机遇与挑战,第三开源社区与公司如何相辅相成。
以下是分享实录:
Hello,大家好,欢迎来到Dive全球基础软件创新大会,我是胡渊鸣,太极图形的联合创始人兼CEO。今天很荣幸能够借这个机会给大家讲一讲Taichi的开源与创业历程。
今天在接下来的大概40分钟的时间之内,我会简单的聊一聊Taichi及其演化的历史,我也会讲一讲Taichi开源社区遇到的机遇和挑战,最后我会希望谈一谈开源社区与公司如何能够做到相辅相成。
Taichi及其演化历史
先来看看Taichi和它的演变历史。什么是Taichi?Taichi是一个开源的高性能并行编程语言,它有三个特性:优雅开发,高效运行和随处部署。一会我会仔细谈一谈这三个很重要的特性。
太极编程语言除了上层编程语言之外,它有一个中间表示也是非常重要的,我们希望它的中间表示能够成为一个硬件中立的并行计算中间表示,它是一个拿来即用可部署的并行计算软件基础设施,这是我们更长远的一个规划。
太极编程语言它的应用场景有哪些?在物理仿真、数值计算、机器学习、机器人、视觉特效、通用计算各种各样的地方,只要你要用上GPU,只要你的计算任务需要进行并行编程,你都可以使用Taichi来进行开发,目前全球已经有近百所的高校和企业的用户,自发的把Taichi用在各种各样的使用场景里面,包括科研、包括教学、包括生产。
在GitHub上面Taichi有将近两百位开发者。它一开始的时候只是我自己一个人的兴趣项目,但是随着时间的发展,现在已经有接近两百位开发者,一起来给Taichi贡献代码,我们也获得了一万八千多个Stars(截至演讲时),在一些统计数据上面,我们也看到Taichi有将近百万次下载,它是目前来看GitHub上面,全球范围之内,图形计算基础设施里面比较活跃的一个基础设施之一了。
接下来我来讲讲Taichi的三个核心的属性分别是易于开发,高效运行和随处部署。
先说一说易于开发这一块,这一块最经典的例子就是之前我写过一篇文章叫做99行代码的《冰雪奇缘》,你只用很少的代码就可以实现一些很Fancy的物理效果,这些物理效果,你可以在各种地方用到它,你可以在动画电影里面用到,你可以在一些工业仿真的场景里面也可以用到,你只要写右边这么短的代码就可以实现这种相对来说还算复杂的多材料物理仿真,特别的有意思,这是为什么大家愿意用Taichi来进行教学,因为它的代码相对来说比较短,写起来开发效率也非常高,并且写完了还可以在GPU上面运行,这是Taichi一个很重要的属性,你只要用很少的努力,就可以去创造出来比较高性能运行的程序。
易于部署可能是Taichi另外一个很重要的属性了,Taichi它作为一个编译器,它吐出的这些二进制,或者一些Shader文件,可以让你把Taichi部署在各种各样的地方,包括移动端、在云上面,甚至在浏览器里面都可以运行太极,这就使得Taichi代码只要编写一次就可以在各种地方用上,这是特别好的一个事情。
上图左边是我们和快手合作的,运行在iPhone上面的一个流体仿真,中间是一个Android上面的Demo,右边是把Taichi运行在浏览器上面得到的一个效果,特别有意思,你基本上可以在任何地方,只要你能想到的设备,只要它有个显示器,大部分地方都是可以运行Taichi的,智能手表不算,智能手表上面还不能运行。
taichi的第三个属性就在于它的高性能,这边我们可以用一块GPU去模拟大量的粒子一起掉落,这一个粒子里面有2.35亿个粒子,在有Taichi这样的基础设施之前,你是很难在一块GPU上面进行这样的运算的,有了Taichi以后,基于我们的这些数据结构,基于我们的这种量化的压缩的技术,你是可以在一块GPU上面进行,把它的运算性能发挥到极致,进行特别大规模的独立仿真,这是Taichi的高性能的一个特性。taichi https://taichi-lang.cn/
|