On 02/28/2017 12:58 AM, Somesh Singh wrote:
Hi All
Tensor contraction is a widely used operation that comes up quite often
when performing operations on tensors. It is widely used in many domains
such as analysis of chemical compounds. There are a lot of ongoing
efforts to speed-up tensor contraction.
Many of the softwares for numerical computation have sound
implementations of tensor contraction. In this light, I believe it will
be a good idea to have a fast implementation of tensor contraction in
Octave for muti-core systems, since tensor contraction offers a lot of
scope for parallelism. I would like to propose this as a project for
GSoC 2017 and get involved with it.
Please share your thoughts on the suggestion.
What would be the scope of this? Tensor contractions are typically
handled using BLAS calls by permuting the contracted indices to either
the start or the end, and then calling dgemv or dgemm to get the result.
These would be AFAIK pretty straightforward to loop-parallellize.
There are recent software developments that are able to do the tensor
contraction without the permutations, but these basically involve novel
implementations of BLAS...