We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The current MTTKRP implementation (used for ALS) is simple but inefficient.
A significant part of the cost can come from forming the tensor matricization on this line:
GCPDecompositions.jl/src/gcp-opt.jl
Lines 183 to 184 in 6a796a5
Can be seen by profiling in VS Code as follows:
X = randn(100,200,300); @profview gcp(X, 10)
Note that time spent in permutedims accounts for a significant part of gcp.
permutedims
gcp
We should implement the more efficient MTTKRP described in Section III-B of this paper: https://ieeexplore.ieee.org/document/6544287
Just focus on a single mode for now - we'll save the MTTKRPS (MTTKRP sequence) for #17.
Make sure to give them credit in the docstring!
The text was updated successfully, but these errors were encountered:
f869de6
Re-running the above profile with the new implementation indicates that the bottlenecks are now:
For this simple test case, the main Khatri-Rao costs came from the n==1 and n==N MTTKRP's. Makes sense since those Khatri-Rao products are larger.
n==1
n==N
Sorry, something went wrong.
No branches or pull requests
The current MTTKRP implementation (used for ALS) is simple but inefficient.
A significant part of the cost can come from forming the tensor matricization on this line:
GCPDecompositions.jl/src/gcp-opt.jl
Lines 183 to 184 in 6a796a5
Can be seen by profiling in VS Code as follows:
Note that time spent in
permutedims
accounts for a significant part ofgcp
.We should implement the more efficient MTTKRP described in Section III-B of this paper: https://ieeexplore.ieee.org/document/6544287
Just focus on a single mode for now - we'll save the MTTKRPS (MTTKRP sequence) for #17.
Make sure to give them credit in the docstring!
The text was updated successfully, but these errors were encountered: