目前的主要的差别在于代码生成技术路线上,TC采用了polyhedra model,目前TVM采用的还是schedule space模型。polyhedra model相对于schedule primitive更加自动化一些,在TVM过去的工作中我们只采用了比较简单的auto tuning,这一点是TVM未来可以向TC学习的地方。在性能上,就目前发布的结果来看TVM的技术路线还是有更好的性能,如何互相学习提高是未来TVM团队会努力的方向
TVM目前的主要关注点在后端支持以及在如何获得最好的性能,最近的新东西是如何对未来深度学习加速器的支持,有兴趣的同学可以看我们刚出来的论文 End-to-End Optimization Stack for Deep Learning 。TVM采取这一路线以达到最好的性能,并且进一步支持深度学习的加速器。
以上的评论适用于是对于两个项目当前状况。TC (tensor comprehension) 在早期内部开发的时候参考了TVM的设计。主要作者nicholas也参与了TVM的贡献。两个项目的技术路线不同,在一定程度上是互补的,未来相信会有更多有趣的东西出现。
总的来说自动生成高效代码这条技术路线的可行性随着大家的努力逐渐明朗,大家应该可以多来尝试使用交流。去年TVM在arm,mobile gpu和加速器都有一些结果,开源社区的同学也都找到了不错的去处,这个方向还有不少的东西可以研究,欢迎对深度学习系统和编译高性能计算感兴趣的同学联系我们参与一起来探索这个方向。