第十期《从茶园走向世界》之胡渊鸣——图写太极,编译世界

2021年07月19日

嘉宾简介:胡渊鸣,2017届姚班校友,本科毕业后前往MIT攻读博士,研究方向为计算机图形学,读博期间研发适用于计算机图形学的编程语言——太极(Taichi)。博士毕业后胡渊鸣回国创业,开发开源基础设施太极编程语言,创立太极图形团队。 

01  “我要写一个编译器,我要造一个编程语言”

       2020年底, 胡渊鸣仅使用了99行代码,便完成了动画电影(如《冰雪奇缘》)中的多种仿真特效,登上了各大社交平台的热搜。而这背后的助力,就是胡渊鸣所编写的“太极(Taichi)”编程语言。

       说起胡渊鸣与计算机图形学的渊源,可以追溯到他中学时期。在胡渊鸣初二的时候,他就对计算机图形学产生了兴趣,并写了自己的第一个物理引擎,此后在高中和大学期间,胡渊鸣又分别编写了刚体与流体的物理引擎。在交叉信息院读本科期间,胡渊鸣进行了一系列计算机视觉相关的研究,随后前往MIT攻读博士。

       博士生涯中,胡渊鸣的导师给了他很大的自由做自己的项目,也正因为有较大的自由度,胡渊鸣产生了一个“疯狂”的想法:“我要写一个编译器,我要造一个编程语言!”胡渊鸣说,在本科期间他曾经做了一个计算机图形学的代码库,在使用与更新过程中,逐渐意识到一个代码库已经不能适应图形学里的对计算性能的要求。他意识到,图形学里的基础设施是相当匮乏的。现有的编译器与编程语言很难能够同时达到性能,可移植性与生产力这三者的高要求。要同时达到这三点,需要编译器有很好的设计。

        胡渊鸣的疯狂构想就是要创造一个能够同时满足这些要求的,为图形学而生的编译器与编程语言及周边组件。“比如用OpenGL画一个三角形,可能需要几百行代码;我曾经记得在计算机图形学课上,为了显示一张图片,我们需要安装OpenCV一整个库。而现在有了太极之后,也许我们一行代码就可以显示一张图片了。”

        写编译器是一件工作量特别大的工程,因此在做出了这个决定之后,胡渊鸣便投入了极大的时间与精力。“那段时间醒着的时候在想编译器怎么写,坐公交车、躺床上都在想编译器需要怎么设计。”半年之后,太极第一版完成,那时的太极,可以用比以前的编程语言短10倍的代码量,达到4.5倍的性能。

        在此之后,胡渊鸣便着手与太极的软件工程,可微性,量化等工作。“太极的出现使得一些曾经难以解决的计算问题,现在可以用很少的代码量解决,这也初步达到了我们的目的。

02  让每个人受惠的基础设施

        在拿到MIT的博士学位之后,胡渊鸣选择回国创业。说起创业的原因,胡渊鸣表示一方面是因为在博士的后期,发论文虽然还有创新,但已经不像科研初期那样充满成就感。他更想要回归他所创造的太极。“我最开始做太极的想法是,做一个图形学的基础设施,能够让地球上每一个人受惠。”

        要实现胡渊鸣的愿景,仅仅靠在学术界的努力和开源社区的合作是远远不够的。图形基础设施极其复杂,胡渊鸣需要团结更多志同道合、经验丰富的小伙伴一起扬帆远航。“创业只是一种方式,不是一个目的,我想的只是如何能够把这个事情做成。”胡渊鸣总结自己创业的原因。

        除此之外,胡渊鸣也相信现在是属于太极的“天时地利人和”的时间。中国的基础软件的建设也期待着更多人去参与,他相信这个契机也是他的机会。“就像姚先生所说的那样:立足中国,领跑世界,希望我们在这个领域也能做一些自己的贡献,也是件很有意义的事情。”

        从学术界走向创业,胡渊鸣也遇到很多崭新的问题。相比学术界,在现实世界中我们会遇到许多意想不到的情况,我们要去了解用户的需求是什么,要和用户去沟通。尽管胡渊鸣的团队是刚成立不久的创业团队,但“太极”已经在大众平台上展现了独特的魅力。通过对于流体的高效仿真,用户可以在移动端上体验到更多新奇的特效。

03  茶园故事

       胡渊鸣回忆交叉信息院的往事。“很有幸能够成为交叉信息院这个集体的一部分,在交叉信息院累积的人脉其实在创业过程中也帮到了很多,例如五字班的刘剑成、七字班的徐明宽就为太极的上层应用和基础设施做出了很大贡献。”

    “在交叉信息院,比你聪明的人比你更努力。聪明的人很多,努力的人很多,在交叉信息院的每个人都很优秀,但每个人又有着自己的兴趣,就形成了良性竞争、相互激励的氛围。”胡渊鸣笑着说起在交叉信息院的感受。

       胡渊鸣对学弟学妹的寄语 “姚班同学都有聪明的大脑,大家作为个体战斗力都非常强。但是还不够,无论是读博士还是创业,都要有能够带一帮人的担当,要有 Leader 的胸怀和觉悟,第一个冲在最前面” 。

《从茶园走向世界》校友访谈组成员:朱追,郑鈜壬,谢琴