-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
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
RFC: Customizable lazy broadcasting with options for pure-Julia fusion and eager evaluation #25377
Closed
+1,407
−864
Closed
Changes from 58 commits
Commits
Show all changes
62 commits
Select commit
Hold shift + click to select a range
c0db74c
Reduce build-time calls to broadcasting machinery
timholy 0c6617a
Allow test/core.jl to be run from REPL
timholy 98fe8ab
Turn range&number arithmetic operations into broadcast methods
timholy aeba265
Make lazy dot fusion
vtjnash 98f6bdc
Speed up range tests and fix printing at REPL
timholy 0698edc
Integrate lazy broadcast representation into new broadcast machinery
timholy 4c02b07
Temporarily disable failing tests
timholy e4d1962
Centralize broadcast support for structured matrices
timholy 944e069
Docs: Slightly gentler introduction and overview of broadcast machinery
mbauman 69eca0b
is_broadcast_incremental docstring: add implications about broadcast …
mbauman 3cf994b
Update doctests for TupleLLEnd
mbauman de9e321
Fix and test nested scalar broadcasts
mbauman 61bb21f
Merge remote-tracking branch 'origin/master' into teh-jn/lazydotfuse
mbauman 8dcd8c1
Merge remote-tracking branch 'origin/master' into teh-jn/lazydotfuse
mbauman a14ed08
fixup merge
mbauman 1774bdf
Allow construction of instantiated Broadcasted{Nothing} objects
mbauman 7381ea4
Replace BitArray piecemeal broadcast...
mbauman 25598ea
Fix `literal_pow` broadcast issue. (#25665)
ajkeller34 99507a2
WIP: broadcast style system for structured matrices
mbauman 2e371e4
Structured broadcasts: Support Bidiagonal broadcasts and perform runt…
mbauman 3e42812
fully detangle sparse and structured broadcast and tests
mbauman 0115326
NFC: Style changes; use explicit returns, some line length considerat…
mbauman 1de78ac
fixup comment
mbauman 8e41f2f
Try implementing incremental broadcast in terms of `make`
mbauman adaf337
Rename execute to materialize; fixup .= with different size destination
mbauman cf0f8ce
Fix Sparse inference; improve allocations
mbauman 4f8233f
Merge remote-tracking branch 'origin/master' into teh-jn/lazydotfuse
mbauman 5749afc
fixup merge
mbauman f90f5fe
fix typejoin promotion and `y .= f.()` syntax
mbauman 28d5421
Transform TupleLL to Tuple; capture Type arguments in a closure (#25844)
mbauman cfa9caa
Merge branch 'master' into teh-jn/lazydotfuse
mbauman 8147932
Merge remote-tracking branch 'origin/master' into teh-jn/lazydotfuse
mbauman 90ad8eb
Removing broadcasting from the new optimizer
mbauman 03287c1
Remove Structured broadcast deferral to DefaultArrayStyle
mbauman f71db14
work around SparseArrays inference failure in broadcast!
mbauman e3eede4
Merge remote-tracking branch 'origin/master' into teh-jn/lazydotfuse
mbauman 0edbd99
Decouple Broadcasting API from inference
mbauman 71b830f
Merge remote-tracking branch 'origin/master' into teh-jn/lazydotfuse
mbauman b248953
Improve sparse allocation situation
mbauman 964039a
Remove broadcast_skip_axes_initialization
mbauman 37220d5
Improved accounting of the allocations when broadcasting over tranpos…
mbauman 79ce497
Expose simpler axes/getindex methods for Broadcasted objects
mbauman a6cc656
Documentation update
mbauman 98b5e84
Squash the most egregious perf bugs
mbauman 2e9c0f2
More incremental perf improvements
mbauman 3870fdf
Merge remote-tracking branch 'origin/master' into teh-jn/lazydotfuse
mbauman c1f2eba
fixup! More incremental perf improvements
mbauman 9afdbbe
WIP: maybe don't use indexers?
mbauman 81bd635
Try removing the indexing helper from Broadcasted
mbauman 82d0a3b
WIP: move indexers into an argument wrapper
mbauman fb8234a
Completely move indexing helpers into wrappers
mbauman aba2da7
Don't recursively initialize the Broadcasted objects
mbauman 5f99c2e
Inline copy(::Broadcasted) to avoid allocated the Broadcasted object
mbauman 52a3202
Hack around losing Type{T} information in the final tuple...
mbauman a8a2608
Avoid re-using the same variable name
mbauman db690e0
Mitagate some of the performance issues with non-type-stable...
mbauman a2b9015
broadcast.jl cleanup:
mbauman c8bb374
Rename Broadcast.*_indices to *_axes as appropriate
mbauman 110a0a5
Merge remote-tracking branch 'origin/master' into teh-jn/lazydotfuse
mbauman 6fdb86e
Remove spurious NEWS item from merge mistake
mbauman df51b31
Fix broadcast_similar docstring
mbauman a1d4e7e
Fix #22255 by inlining the necessary methods
mbauman File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains 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
This file contains 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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks redundant with the next news item (and partly contradicts it).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, thanks for the reminder. This was a merge mistake.