Thanks for the reply, I didn’t know about the profiler and is definitely a very usefull tool to understand the performance of the code.
.
Anyway I think that trying to understand the behaviour of a program only from the performance measured at runtime on one machine is not the best, it doesn’t give any informations on how it would scale changing the tensors or the machine.
I just think that having some theoretical knowlege on the behaviour of these basic functions would be very usefull for writing efficient algorithms, without having to start coding to have some feedback.
If there is no such documentation jet I would dare to say that it could even be helpful to have a pseudocode for these basic operations: even if it would still require quite a lot of technical knowlege to understand the bottlenecks on different architectures (estimating the constants of the time complexity) with an accurate analysis would still be possible to at least have some theoretical infortmation on the asymptotic behavior of these functions.
(btw I have no idea if it’s based on some open source code or if it’s licensed)
Even just saying ‘on the cpu this function follows its blas lapack implementation’ or informations of that sort could be useful.