-
Notifications
You must be signed in to change notification settings - Fork 311
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
support heterogenous fanout type #4608
Merged
rapids-bot
merged 153 commits into
rapidsai:branch-24.12
from
jnke2016:branch-24.10_support_heterogeneous_fanout
Nov 18, 2024
Merged
Changes from all commits
Commits
Show all changes
153 commits
Select commit
Hold shift + click to select a range
0adb2fd
support heterogenous fanout type
jnke2016 bb5a3e2
remove unusued code
jnke2016 10fa86d
fix style
jnke2016 f904350
create one API for both uniform and biased neighborhood sampling
jnke2016 1fc32c3
use the same function for both uniform and biased nieghborhood sampling
jnke2016 8fc21f8
add support for heterogenous fanout support at the plc layer and cons…
jnke2016 01a57f3
remove outdated codes
jnke2016 3a6aeb2
add flag differentiating between biased and uniform sampling
jnke2016 d2f6467
update docstrings and rename variable
jnke2016 5d25155
rename variable
jnke2016 80f8b86
create new tuple type
jnke2016 50e0fc5
remove unnecessary check
jnke2016 9f455bf
add constructor converting from array_view_t to array_t
jnke2016 d114534
leverage new constructor and remove unnecessary code
jnke2016 cf4a3ae
ensure edge types are ordered in increasing order
jnke2016 bc87b50
update docstrings
jnke2016 3013684
update docstrings
jnke2016 d6b6234
undo changes to uniform neighbor sample
jnke2016 068b0a3
undo changes to uniform neighbor sample
jnke2016 6920f65
update docstrings
jnke2016 760c5cd
re-order arguments
jnke2016 1e0ef27
remove outdated comments
jnke2016 de79620
add arguments and type check
jnke2016 8c17009
rename variable for consistency
jnke2016 7b95c5e
update neighbor sample API
jnke2016 19fc765
remove outdated code
jnke2016 e30766c
remove outdated comment
jnke2016 5dd66f2
first cut at new sampling function definition to clean up things befo…
ChuckHastings 4b2764c
updates to remove builder pattern, also rename functions and mark old…
ChuckHastings 4c1c610
add implementation of heterogeneous neighborhood sampling
jnke2016 fe35c80
add exit condition
jnke2016 a658b29
remove comments
jnke2016 e52a38a
Add Implementation
ChuckHastings c416439
call heterogeneous renumbering
jnke2016 98d6c57
update branch and call heterogneous renumbering
jnke2016 d7165af
update heterogeneous renumbering call
jnke2016 579fd0a
create a csr data structure to efficiently store vertex and label
jnke2016 5cdf40a
update API and docstring
jnke2016 a8fbd9d
remove unsued variable
jnke2016 9d5b3dd
update C++ API for neighbor sampling
jnke2016 0358c6e
add fixme for deprecated flags
jnke2016 799c35d
update CAPI
jnke2016 ab8aa72
undo changes to k-truss
jnke2016 7d8b5ad
undo changes to tests
jnke2016 f2190ba
clean up code
jnke2016 1e96dcf
update docs
jnke2016 36c25ad
fix typo
jnke2016 4857b36
call scatter instead of gather and fix type bug
jnke2016 263b6ac
fix typo
jnke2016 9dff3ab
update neighbor sample API
jnke2016 33c8b3d
update CAPI
jnke2016 e357f42
remove unsued code
jnke2016 6081978
remove outdated comment
jnke2016 73b3ffe
remove unnecessary copy
jnke2016 ea972f3
remove outdate arguments
jnke2016 8822192
fix typo
jnke2016 e02a513
update plc API of heterogeneous neighbor sample
jnke2016 d6cb1d5
fix typo
jnke2016 54fa155
change back the fanout type from a sparse to a dense structure
jnke2016 499e041
fix typo
jnke2016 b571deb
add implementation of heterogeneous/homogeneous biased/uniform neighb…
jnke2016 f6c4ce3
properly handle edge types
jnke2016 e71660d
add tests for 'homogeneous_uniform_neighbor_sampling'
jnke2016 4e2c8cf
add tests for homogeneous_biased_neighbor_sampling.cpp
jnke2016 2458149
update type combination
jnke2016 df3e4ff
add tests for heterogeneous uniform/biased neighborhood sampling
jnke2016 d4847e4
properly sample with edge types
jnke2016 dc2c9ba
remove outdated tests
jnke2016 c01f4e4
add SG python implementation of neighborhood sampling both homogeneou…
jnke2016 dabd0c8
remove unused argument
jnke2016 95ca286
add tests for homogeneous uniform neighborhood sampling
jnke2016 383bfc4
add method to fill a buffer array with a scalar
jnke2016 68fa2f1
add method to sort and count unique elements in buffer array
jnke2016 18899ed
add method to sort and count unique elements in buffer array
jnke2016 57e6f96
update computation of map from label to comm rank
jnke2016 d34d85c
perform allgatherv of the local mapping from label to comm rank
jnke2016 2aa0903
udpate tests for 'mg_homogeneous_uniform_neighbor_sampling'
jnke2016 fa0cb88
update neighbor sampling call for 'NO_CUGRAPH_OPS'
jnke2016 990d2ed
remove outdated code
jnke2016 d44a46f
udpate tests for 'mg_homogeneous_biased_neighbor_sampling'
jnke2016 a1a6180
add mg tests for heterogeneous uniform and biased neighborhood sampling
jnke2016 36ce4fc
add new tests to CMakeLists
jnke2016 c0a618f
remove unsued variable
jnke2016 965001b
fix illegal memory access
jnke2016 a005a19
update branch with the latest changes
jnke2016 11f9c40
fix style
jnke2016 6b547fb
fix style
jnke2016 14e9a99
update cmakelist
jnke2016 aebfd08
update type combination
jnke2016 b159e1b
fix symbol lookup error
jnke2016 3b0c016
leverage raft span instead of raw pointers
jnke2016 da82567
remove python implementation of heterogeneous neighborhood sampling a…
jnke2016 5b1bbb4
undo changes to uniform neighbor sampling
jnke2016 6d69f88
remove o utdated fixme
jnke2016 79d4527
remove unnecessary call
jnke2016 2a66928
remove unnecessary blank line
jnke2016 8c3d871
add comments for deprecated functions
jnke2016 ae92c9f
remove obsolete instantiation
jnke2016 d7d6109
remove unnecessary parenthesis
jnke2016 6b3ffbd
remove obsolete instantiation
jnke2016 67d7d0a
fix style
jnke2016 3386230
Merge remote-tracking branch 'upstream/branch-24.12' into branch-24.1…
jnke2016 413a577
fix type error
jnke2016 22db98d
fix import error
jnke2016 6a95852
remove redundant tests
jnke2016 4f5dc3e
remove hardcoded path
jnke2016 334ce6d
Merge remote-tracking branch 'upstream/branch-24.12' into branch-24.1…
jnke2016 9b4683a
fix style
jnke2016 8cb0c94
rename 'd_value' to 'd_span'
jnke2016 77303d5
use 'label_list' as a map form 'comm_rank' to 'label_map'
jnke2016 117a4ec
use 'label_list' as a map form 'comm_rank' to 'label_map'
jnke2016 ac66f13
add module biased_neighbor_sample
jnke2016 114bf56
rename variable
jnke2016 63a59ca
avoid creating function that compile all types and be more explicit w…
jnke2016 84face3
remove unsued function
jnke2016 ab853e5
declare homogeneous functions first
jnke2016 802d9b0
rename variable
jnke2016 c5bec5f
remove duplicated functions
jnke2016 4bd09f6
reorder variable declaration
jnke2016 5d6cb34
add fixme for not testing edge masking
jnke2016 24e31cb
remove outdated fixme
jnke2016 7ca5d59
fix style
jnke2016 64b7edc
Merge remote-tracking branch 'upstream/branch-24.12' into branch-24.1…
jnke2016 4a1d3f9
list homogeneous sampling functions first
jnke2016 86c819c
update docstrings
jnke2016 c011a7a
update docstrings
jnke2016 013ccbd
fix typo
jnke2016 b5d0505
detach mask
jnke2016 a759293
fix style
jnke2016 4dc00d1
update docstrings
jnke2016 de0c66f
update docstrings
jnke2016 a2dcc6f
update docstrings
jnke2016 3e03324
update docstrings
jnke2016 6d50df8
fix typo and remove check
jnke2016 ed6d532
reorder instructions
jnke2016 8a3a774
add docstring examples
jnke2016 57ba1e8
fix style
jnke2016 1011095
Merge remote-tracking branch 'upstream/branch-24.12' into branch-24.1…
jnke2016 b827ac7
update docstrings
jnke2016 27eb500
add more docstring example
jnke2016 c6ea067
add type chec, remove outdated docstrings
jnke2016 db468b6
fix style
jnke2016 d866235
Merge remote-tracking branch 'upstream/branch-24.12' into branch-24.1…
jnke2016 978281e
add functions exposing the edge renumber map along with its offsets a…
jnke2016 cd68019
add FIXME
jnke2016 ccfadc9
expose edge renumber map along with its offsets to the PLC API
jnke2016 dc203dd
fix style
jnke2016 69afe17
update docstrings example
jnke2016 fa44832
Merge remote-tracking branch 'upstream/branch-24.12' into branch-24.1…
jnke2016 3d9b526
remove outdated arguments
jnke2016 9edd3ae
fix style
jnke2016 c8b5875
rename methods
jnke2016 65a0225
fix style
jnke2016 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
Large diffs are not rendered by default.
Oops, something went wrong.
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
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.
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.
Similar here. I am not sure creating a thrust wrapper for arbitrary types is a good idea or not.
For commonly used types, we can clearly cut compile time and binary size by doing this.
In such case, I am inclined to better naming functions to indicate the supported types or at least properly document the supported types.
For example, for the sort function here,
sort_vertices
or at leastsort_ints
to indicate that this works only for integers and document the supported integer types (e.g. int32_t, int64_t). If we explicitly instantiated this function for floating point numbers as well, then we may createsort_floats
as well.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.
And our general convention is to pass stream as the last parameter.
Here, we are passing handle in some functions and stream in other functions. And passing stream as the last parameter when we are passing stream.
Better be consistent. I think we should pass stream as the last parameter consistently for the functions defined in this header file to allow calling these functions in multi-stream executions.
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.
@ChuckHastings Any thoughts on this?
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.
Stream should be the last parameter, I think. We should do some review of the code and identify other places where we should be passing stream instead of handle. I think passing the handle into the algorithm is great, since it gives us access to everything. But I had to do some complex things in MTMG to get some of the lower level functions working in a multi-stream environment because we use the handle too much. I think we should look at many of the non-public functions and explore passing the comms object and stream instead of passing the handle.
Regarding these wrappers for thrust calls, I think we'll end up with higher quality code if we have function names that are more precise about what we're doing. I think
sort_ints
might be sufficiently precise... I imagine there are other integer data types that we would want to sort.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.
I went for option 1