-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Tensor subnetwork canonicalization. #237
Comments
This should probably only be tackled once my canonicalizer revamp has been merged (if it is still a problem). Also, I kinda think the way to implement CSE would be via a cleverly designed hash function rather than via explicit canonicalization of all pairs of tensors in a network. |
@Krzmbrzl A cleverly designed hash function is currently used to use common sub-expression elimination during evaluation. We want to use graph canonicalization to make the common sub-expressions detection at symbolic level rather than evaluation node level so that the CSE becomes even more robust. I do not expect this feature to improve the runtime significantly, however, with this implemented we will have a uniform way of finding common sub-expressions for evaluation nodes as well as symbolic refactoring. Also, looking forward to your canonicalizer revamp! |
I actually meant to have a hash function on the symbolic level. Maybe we just put this on the list for our next meeting in order to make sure everyone is speaking about the same thing? |
this is addressed by the |
Tensor subnetwork canonicalization is useful to identify common sub-expressions.
As of now, the subnetwork canonicalization for tensors without proto-indices seems to at least not throw (have not been used in common sub-expression elimination to test out the robustness). However, the canonicalization of subnetworks involving tensors with proto-indices throws.
Examples are in the linked branch under
test_tensor_network.cpp
.The text was updated successfully, but these errors were encountered: