Skip to content
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

[FEA] Vertex and edge property support. #2479

Open
1 of 3 tasks
Tracked by #3280
seunghwak opened this issue Aug 2, 2022 · 1 comment
Open
1 of 3 tasks
Tracked by #3280

[FEA] Vertex and edge property support. #2479

seunghwak opened this issue Aug 2, 2022 · 1 comment
Assignees
Labels
feature request New feature or request

Comments

@seunghwak
Copy link
Contributor

seunghwak commented Aug 2, 2022

As pre-requsites for #2143 and #2433, we need a wrapper class to store vertex property values (which can be a simple 1D array without vertex masking, this does not hold anymore with vertex masking, need a wrapper class to hide complexity) and another class to store edge property values (in addition to the edge weight).

  • Update the current edge_partition_src|dst_property_t to support vertex/edge source|destination/edge property values in a consistent and efficient way.
  • Add a wrapper class for vertex property values
  • Add a new class for edge property values.
@seunghwak seunghwak added the ? - Needs Triage Need team to review and classify label Aug 2, 2022
rapids-bot bot pushed a commit that referenced this issue Aug 11, 2022
Pre-requisites for #2479

Several .cuh header files (.cuh indicates nvcc is required to compile) can be renamed to .hpp (.hpp indicates the file can be compiled with a host compiler such as g++) with no or minimum modifications.

This PR performs multiple renaming (eventually to separate edge_partition_src_dst_property.cuh to .hpp and .cuh files).

Breaking as public header files are renamed.

Authors:
  - Seunghwa Kang (https://github.com/seunghwak)

Approvers:
  - https://github.com/naimnv
  - Joseph Nke (https://github.com/jnke2016)
  - Chuck Hastings (https://github.com/ChuckHastings)

URL: #2501
rapids-bot bot pushed a commit that referenced this issue Aug 23, 2022
)

Partially addresses #2479
Code clean-up before adding `edge_property_t` and `update_edge_property` (to support edge property in addition to edge weights).

- [x] Split `edge_partition_src_dst_property.cuh` to `edge_src_dst_property.hpp` (can be complied with g++) and `edge_partition_endpoint_device_view.cuh` (requires nvcc)
- [x] Rename `edge_partition_src|dst_property_t` to `edge_src|dst_property_t`
- [x] Update `update_edge_partition_src_dst_property.cuh` to `update_edge_src_dst_property.cuh` and `update_edge_partition_src|dst_property` to `update_edge_src|dst_property`.
- [x] Rename `dummy_property_t` to `edge_src_dummy_property_t` and `edge_dst_dummy_property_t`
- [x] Replaced `edge_src|dst_property_t`'s `fill()` with `fill_edge_src|dst_property` (to allow including `edge_src_dst_property.hpp to be compiled with g++).
- [x] Created `edge_src|dst_property_view_t` classes (host side, in addition to the device_view objects which can be trivially copied to the device side); so the view() member function can be compiled with g++.

Authors:
  - Seunghwa Kang (https://github.com/seunghwak)

Approvers:
  - Chuck Hastings (https://github.com/ChuckHastings)
  - Naim (https://github.com/naimnv)

URL: #2503
rapids-bot bot pushed a commit that referenced this issue Aug 26, 2022
Partially address #2479 

We currently support only edge weight as edge properties. This PR's goal is to update cuGraph to support additional edge properties (currently only edge ID and type, eventually any arithmetic types or thrust tuple of arithmetic types).

This PR defines an API. There will be a separate PR for implementation.

Authors:
  - Seunghwa Kang (https://github.com/seunghwak)

Approvers:
  - Chuck Hastings (https://github.com/ChuckHastings)
  - Naim (https://github.com/naimnv)

URL: #2521
@BradReesWork BradReesWork added feature request New feature or request and removed ? - Needs Triage Need team to review and classify inactive-30d labels Sep 30, 2022
@rapidsai rapidsai deleted a comment from github-actions bot Sep 30, 2022
@ChuckHastings
Copy link
Collaborator

We have added support for edge properties.

We still manage vertex properties using rmm::device_uvector, which exposes internal implementation and prevents support for vertex masking and some other optimizations we might consider.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants