100X tensor algebra speedup!?!

Is there a reason why you’re not creating a monetization process for this? There must be products that can spring out of all the USPs that you know this formalism enables right? Build that and charge for it. I fully understand your situation and the frustration, but no one is going to pay you money for an open source project unless they’re a university or it solves a crucial itch for them. And, as I understand from this thread, people are struggling to understand how this formalism applies to their everyday problems. You’re obviously talented, so use that talent to make your own product or explain to companies and or universities why they should hire you in a better way. Just offering my two cents. :blush:


Well, the README is not intentionally obscure, but it currently leaves out of a lot of information that could be included. This information will not be publicly available until I publish my paper/talk at JuliaCon.

I certainly want to help spread these ideas and concepts far and wide, but I don’t want to do that prematurely before the foundations are solid. I will teach some math, but not the gritty internals of it.

Honestly, I just want to publish a paper and have a stable API before I make huge documentation.

You can pay me at https://liberapay.com/chakravala

And yes, I also want to split this topic.

1 Like

Time to split this topic?


Hi all! I know I’m reviving quite an old thread; so much has happened over the last five years, but I eventually developed a new theory of tensor compilation and wrote a tensor compiler: Finch.jl. It supports much more than just sparse tensors, including run-length-encoding, triangular or padded arrays, block-sparsity, and more! Finch doesn’t use Einstein summation as input, rather it uses full loop nests with statements and if-conditions, so you can do convolutions, scatter/gather, fuse or reorder loops, mask computation, and so on. I remembered this thread and thought you might find it interesting. Let me know what you think!


That’s cool. I think you should write a new post with an intro to your code. Interesting that it eventually wound up in Julia anyway :smirk: