为什么不将ti.template()设置为默认传参方式?

ti.template()如此通用, 为什么不将其设置为默认传参方式? 保留默认的value-pass只能传标量的用途在哪里?

Hi @mustang, 欢迎你来到太极论坛。

函数参数传标量还是有用处的。如果传递 ti.template() 就要做更多的处理。

我举一个例子来说明吧:

如果一个标量,你本来可以简单的把数值传递给函数,你却要把它的地址给函数,函数就需要先取地址再取值。这样做的工作更多了。

明白了…不过以大量的前端冗余语法和破坏python语法的一致性为代价换取这点性能提升感觉还是有些不值得.

ti.template在编译时会重新生成kernel,还是有不少额外开销的