-
Notifications
You must be signed in to change notification settings - Fork 1k
Global stream pool #13922
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
Merged
rapids-bot
merged 146 commits into
rapidsai:branch-23.10
from
etseidl:draft_stream_pool
Sep 13, 2023
Merged
Global stream pool #13922
Changes from 136 commits
Commits
Show all changes
146 commits
Select commit
Hold shift + click to select a range
5e9cf26
add DELTA_BINARY_PACKED decoder
etseidl 9326321
start merging in changes from #13622
etseidl ee7511d
get reduce working on device
etseidl 2cafe62
use functor for transform iterator
etseidl 219ff0b
change filter functors to use kernel_mask
etseidl 0e181a8
pull in changes from #13622
etseidl 129d9ab
Merge branch 'rapidsai:branch-23.08' into feature/delta_binary
etseidl 2b5a25d
Merge branch 'rapidsai:branch-23.08' into feature/delta_binary
etseidl b58e55c
use less shared memory for delta binary decoder
etseidl c63e503
Merge branch 'feature/delta_binary' of github.com:etseidl/cudf into f…
etseidl 2c5e087
spelling
etseidl 996893e
change encoding to unsupported type
etseidl f1f74dc
add python test of delta parser
etseidl 639b8ab
test delta with nulls
etseidl 02cd2be
Merge branch 'rapidsai:branch-23.08' into feature/delta_binary
etseidl 9871d66
Merge branch 'rapidsai:branch-23.08' into feature/delta_binary
etseidl 7debd29
Merge branch 'rapidsai:branch-23.08' into feature/delta_binary
etseidl c1bbb84
add comments to skip_values and decode_batch
etseidl 8e66a08
revert east volatile changes
etseidl 7b09c4f
update doc string
etseidl 5e05872
Merge branch 'feature/delta_binary' of github.com:etseidl/cudf into f…
etseidl 6576aa3
Merge branch 'rapidsai:branch-23.08' into feature/delta_binary
etseidl 1d6efbc
Merge branch 'branch-23.08' into feature/delta_binary
etseidl 334fb53
Merge branch 'branch-23.08' into feature/delta_binary
vuule d18dabf
Merge branch 'rapidsai:branch-23.08' into feature/delta_binary
etseidl 05eb40f
Merge branch 'rapidsai:branch-23.08' into feature/delta_binary
etseidl a957ecc
Merge branch 'branch-23.08' into feature/delta_binary
etseidl 9b636c7
fix for header location
etseidl 6a53d43
Merge branch 'rapidsai:branch-23.08' into feature/delta_binary
etseidl ceb22ab
fix some short-circuit logic
etseidl c00be0b
Merge branch 'branch-23.10' into feature/delta_binary
etseidl e30aa11
Merge branch 'branch-23.10' into feature/delta_binary
etseidl 7ef4be2
Merge branch 'branch-23.10' into feature/delta_binary
etseidl 2410e47
Merge remote-tracking branch 'origin/branch-23.10' into feature/delta…
etseidl 4aa783d
Merge branch 'branch-23.10' into feature/delta_binary
etseidl 94afb8d
Merge branch 'branch-23.10' into feature/delta_binary
etseidl 12b9bab
Merge branch 'rapidsai:branch-23.10' into feature/delta_binary
etseidl a6f7957
Merge branch 'rapidsai:branch-23.10' into feature/delta_binary
etseidl b7dbf47
Merge branch 'branch-23.10' into feature/delta_binary
etseidl ea49a23
rename function
etseidl 3a9f186
clean up kernel_mask_for_page()
etseidl d7671d7
remove TODO
etseidl 7084d89
add some documentation to kernel_mask_bits
etseidl f60bc1c
Merge branch 'branch-23.10' into feature/delta_binary
etseidl 9ebeca9
use rand_dataframe() to produce test data
etseidl 07e73ac
Merge branch 'rapidsai:branch-23.10' into feature/delta_binary
etseidl 410ab67
Merge remote-tracking branch 'origin/branch-23.10' into feature/delta…
etseidl f779455
Merge branch 'branch-23.10' into feature/delta_binary
vuule 761393f
formatting
etseidl ced688d
Merge branch 'rapidsai:branch-23.10' into feature/delta_binary
etseidl 4846032
implement suggestion from review
etseidl d615625
more suggestions from review
etseidl c1ce34c
Merge remote-tracking branch 'origin/branch-23.10' into feature/delta…
etseidl 835e866
restore old unrolled loop for testing
etseidl 6353a4a
add note to revisit bit unpacker with delta_byte_array
etseidl 9ffea01
Merge branch 'rapidsai:branch-23.10' into feature/delta_binary
etseidl 0904418
Merge branch 'branch-23.10' into feature/delta_binary
etseidl 616d3fc
Merge branch 'branch-23.10' into feature/delta_binary
etseidl e924a97
fix and test int8 and int16 handling
etseidl d0bf0cd
fix for single row files
etseidl d3b0c09
Merge branch 'rapidsai:branch-23.10' into feature/delta_binary
etseidl 3c83b89
Merge branch 'branch-23.10' into feature/delta_binary
vuule 5ac20a0
clean up some docstrings
etseidl 9914e1f
Merge remote-tracking branch 'origin/branch-23.10' into feature/delta…
etseidl 7d077f7
Merge branch 'rapidsai:branch-23.10' into feature/delta_binary
etseidl 62e0493
Merge branch 'rapidsai:branch-23.10' into feature/delta_binary
etseidl 5725c61
Merge branch 'branch-23.10' into feature/delta_binary
etseidl 0ab8c15
Merge branch 'branch-23.10' into feature/delta_binary
etseidl b404de7
Merge branch 'rapidsai:branch-23.10' into feature/delta_binary
etseidl 1d137ec
Apply suggestions from code review
etseidl 6cd3e00
fix docstring
etseidl a774ac1
need to pass num_threads as template param to make constexpr
etseidl 60b45b3
Merge branch 'rapidsai:branch-23.10' into feature/delta_binary
etseidl fb44e80
Merge branch 'rapidsai:branch-23.10' into feature/delta_binary
etseidl 16532e4
Merge branch 'rapidsai:branch-23.10' into draft_stream_pool
etseidl d7112a5
refactor stream pool
etseidl 637019e
Merge branch 'draft_stream_pool' of github.com:etseidl/cudf into draf…
etseidl 6b48f80
Merge remote-tracking branch 'origin/branch-23.10' into draft_stream_…
etseidl 6384f89
Merge branch 'branch-23.10' into draft_stream_pool
etseidl 71ece73
checkpoint
etseidl db1d08d
remove comment
etseidl f233870
compiles now
etseidl 384c7ee
Merge branch 'branch-23.10' into draft_stream_pool
etseidl 301e596
update some comments
etseidl e3cfa89
implement Vukasin's idea for making the pool extensible
etseidl e74149f
more api jiggering
etseidl 0d946e8
clean up some
etseidl 0c1faed
stub in docstring
etseidl a31056c
move get_stream_pool_size into object
etseidl 576230a
forgot some overrides
etseidl 21b4443
pass host_span to fork/join_streams
etseidl 3f3c5b5
add to TODO
etseidl 40d53e7
Merge branch 'branch-23.10' into draft_stream_pool
etseidl 10cb2b4
Merge branch 'rapidsai:branch-23.10' into draft_stream_pool
etseidl e0ba2a9
Merge branch 'rapidsai:branch-23.10' into draft_stream_pool
etseidl 83d8710
Merge branch 'rapidsai:branch-23.10' into draft_stream_pool
etseidl b8fddcc
Merge branch 'rapidsai:branch-23.10' into draft_stream_pool
etseidl 3059d94
use static events and disable timing per suggestion from review
etseidl 1ad44db
Merge branch 'branch-23.10' into draft_stream_pool
etseidl bc62b92
add Vukasins per-thread-default-event implmenentation
etseidl 4c2c17b
remove static from fork/join events
etseidl 06d2a75
replace event map with thread_local event struct
etseidl ddfc118
move stream pool to cudf::detail
etseidl 4b00031
Merge branch 'branch-23.10' into draft_stream_pool
etseidl ac55b7e
start cleaning up docstrings
etseidl 10643c4
Merge branch 'branch-23.10' into draft_stream_pool
etseidl 4455230
use new stream pool in multibyte_split
etseidl 274d4f3
Merge remote-tracking branch 'origin/branch-23.10' into draft_stream_…
etseidl 13cd266
Merge branch 'rapidsai:branch-23.10' into draft_stream_pool
etseidl b5c55bb
forgot to get rid of rmm stream pool
etseidl f5ff4d0
add more documentation
etseidl 1dc75d6
fix formatting
etseidl 9774635
Merge branch 'branch-23.10' into draft_stream_pool
etseidl 1ceaedf
remove mutex from get_streams()
etseidl 8b316ba
change fork_streams as suggested in review
etseidl d538be9
hide the actual stream pool
etseidl f8af2b6
add TODO
etseidl 05edba5
Merge branch 'branch-23.10' into draft_stream_pool
etseidl 2346cb1
Merge branch 'branch-23.10' into draft_stream_pool
etseidl d7d30f9
rename fork_stream
etseidl 64b4e42
add some documentation
etseidl 9826366
can use std::for_each again
etseidl 2a20067
fix typo
etseidl 4ed8082
add alias stream_id_t
etseidl 272d883
change stream count to size_t
etseidl 8b4f15d
wrap cudaEventDestroy in a debug-only assert
etseidl 457c6fb
modify event_for_thread() to take into account multiple devices
etseidl 04dbba5
per-device stream pools
etseidl ded5900
use size_t for fork_stream too
etseidl 1c5ae32
rename stream_id_t to stream_id_type
etseidl 5ffc75a
add some more docstrings
etseidl 0a7035f
implement suggestion from review
etseidl 9fb0958
more docstring cleanup
etseidl 6644b48
Merge branch 'rapidsai:branch-23.10' into draft_stream_pool
etseidl 113e66f
Merge branch 'branch-23.10' into draft_stream_pool
etseidl 2629a79
fork_streams is back on the menu
etseidl 87626b6
add nodiscard to fork_streams
etseidl f81d13e
Merge branch 'branch-23.10' into draft_stream_pool
etseidl 614f352
Merge branch 'rapidsai:branch-23.10' into draft_stream_pool
etseidl 560c03c
Apply suggestions from code review
etseidl 80ab1f5
Merge remote-tracking branch 'origin/branch-23.10' into draft_stream_…
etseidl 46c98f4
Merge branch 'rapidsai:branch-23.10' into draft_stream_pool
etseidl 57bd1b3
Merge branch 'branch-23.10' into draft_stream_pool
etseidl afd71f9
add consts per review comments
etseidl a449ab5
Merge branch 'branch-23.10' into draft_stream_pool
etseidl d107e32
Merge branch 'branch-23.10' into draft_stream_pool
harrism 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 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
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
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
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,60 @@ | ||||||
| /* | ||||||
| * Copyright (c) 2023, NVIDIA CORPORATION. | ||||||
| * | ||||||
| * Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
| * you may not use this file except in compliance with the License. | ||||||
| * You may obtain a copy of the License at | ||||||
| * | ||||||
| * http://www.apache.org/licenses/LICENSE-2.0 | ||||||
| * | ||||||
| * Unless required by applicable law or agreed to in writing, software | ||||||
| * distributed under the License is distributed on an "AS IS" BASIS, | ||||||
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||||
| * See the License for the specific language governing permissions and | ||||||
| * limitations under the License. | ||||||
| */ | ||||||
|
|
||||||
| #pragma once | ||||||
|
|
||||||
| #include <cudf/utilities/span.hpp> | ||||||
|
|
||||||
| #include <rmm/cuda_stream_view.hpp> | ||||||
|
|
||||||
| namespace cudf::detail { | ||||||
|
|
||||||
| /** | ||||||
| * @brief Acquire a set of `cuda_stream_view` objects and synchronize them to an event on another | ||||||
| * stream. | ||||||
| * | ||||||
| * By default an underlying `rmm::cuda_stream_pool` is used to obtain the streams. The only other | ||||||
| * implementation at present is a debugging version that always returns the stream returned by | ||||||
| * `cudf::get_default_stream()`. To use this debugging version, set the environment variable | ||||||
| * `LIBCUDF_USE_DEBUG_STREAM_POOL`. | ||||||
| * | ||||||
| * Example usage: | ||||||
| * @code{.cpp} | ||||||
| * auto stream = cudf::get_default_stream(); | ||||||
| * auto const num_streams = 2; | ||||||
| * // do work on stream | ||||||
| * // allocate streams and wait for an event on stream before executing on any of streams | ||||||
| * auto streams = cudf::detail::fork_stream(stream, num_streams); | ||||||
| * // do work on streams[0] and streams[1] | ||||||
| * // wait for event on streams before continuing to do work on stream | ||||||
| * cudf::detail::join_streams(streams, stream); | ||||||
| * @endcode | ||||||
| * | ||||||
| * @param stream Stream that the returned streams will wait on. | ||||||
| * @param count The number of `cuda_stream_view` objects to return. | ||||||
| * @return Vector containing `count` stream views. | ||||||
| */ | ||||||
| std::vector<rmm::cuda_stream_view> fork_streams(rmm::cuda_stream_view stream, std::size_t count); | ||||||
|
||||||
| std::vector<rmm::cuda_stream_view> fork_streams(rmm::cuda_stream_view stream, std::size_t count); | |
| [[nodiscard]] std::vector<rmm::cuda_stream_view> fork_streams(rmm::cuda_stream_view stream, std::size_t count); |
harrism marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
harrism marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
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
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
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.
Uh oh!
There was an error while loading. Please reload this page.