Namespace choice for Tensor Expression DSL

In the unified IR proposal. We plan to seprate the low-level IR(named tir thanks to everyone’s suggestion) from the tensor expression DSL(compute and schedule).

The tensor expression DSL served as a middle layer for bridging high-level and low-level IRs. Specifically, the compute, scan, placeholder and scan are concise dataflow descriptions that allows us to quickly construct functions that can be lowered to low-level IRs.

So far we took the strawman in the original namespace proposal(though we don’t feel attached to the name). Given that we have not yet make changes to the python side(which will affect user API), it would be great to hear from everyone’s thoughts before doing so.

Once we decided on the namespace, we will update the the c++ code as well as python side in the incoming refactor. Here is an example code under the new namespace

from tvm import tdsl_name

x = tdsl_name.compute(...)

Here are some candidates. Please share your thoughts, and suggest new names.

  • top(tensor operation language): current strawman
  • te(tensor expression language): I know we don’t like the name for tir, what about this time:)
  • tel(same as above, with the additional l)
  • tensorcl

0 voters

I also have a candidate: import tensorcl as tscl(tensor computing language)

I don’t quite like the name top, since it quite similar with the current operator namespace topi. Although i represent inventory, it is not easy for beginner to realize this and distinguish them. Also the word top is too common.

But to be honest, I don’t think they are cool enough as the core user API, maybe we can have a brand new name for this DSL instead of just acronym.

2 Likes

Given that most of the user facing api shifts to relay/frontends, the main goal is to just have something that is clear enough :slight_smile: So we don’t necessarily need have a brand new name, just need to favor clarity in terms of the project(as the case of tir).

For this core api, I personally think it should be short and meaningful, so te is my favor. its pronunciation I worried about before, but after I pronunce serveral times, t, e , dot, compute. I find it is not bad.

More radical, we even could name just be single word t (means tensor). And our low level ir is tir (means tensor ir)

+1 for Ziheng’s point, “top” could be confusing to users. I don’t have strong opinion between te and tel.

OK thanks for everyone’s input so far, i turned the first post into a poll, feel free to suggest more names.

+1 for @ziheng’s point, I think that te(tensor expression language) is clear enough. :slight_smile:

thanks for everyone’s input, we will go with the namespace te then