arbitrary map/reduce operators#49
Draft
cg592 wants to merge 1 commit into
Draft
Conversation
e1515b4 to
a695267
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This commit adds support for arbitrary map/reduce operators. Each Einsum can specify it's operators, and architecture specs can specify the compute operations supported by a compute unit. Compute hardware support is checked before mapping a compute action to it.
If the operators are 'mul' and 'add' (default), then they are automatically fused into one 'mac' operation so that operations are not counted separately for map and reduce. Default architecture behavior is to support 'mac' ops, so zero changes are needed to existing workloads or architectures and all results match exactly.
This commit also adds an example workload (tropical_gemm.yaml) and architecture (simple_add_max.yaml) that demonstrates the new behavior.