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] Implement new API functions using mdspan #535

Closed
7 tasks done
cjnolet opened this issue Mar 1, 2022 · 1 comment
Closed
7 tasks done

[FEA] Implement new API functions using mdspan #535

cjnolet opened this issue Mar 1, 2022 · 1 comment
Assignees
Labels
EPIC These might span releases feature request New feature or request inactive-30d

Comments

@cjnolet
Copy link
Member

cjnolet commented Mar 1, 2022

Now that we have mdspan and mdarray in RAFT, we are able to start implementing our new public API contract facades with them.

To start, we can add new functions that assume the underlying layouts are contiguous, deprecate the old functions, and then as we iterate on the mdspan and mdarray and use them in more in device functions, we can eventually support non-contiguous layouts.

Ideally we would be consistent about the ordering of arguments to the new functions. We should start using std::optional for any optional arguments (instead of null pointers) and perhaps follow Thrust's format of accepting inputs before outputs (raft handle should always be the first argument).

Namespaces to add the new functions:

  • raft::cluster (Mickael)
  • raft::distance (Corey)
  • raft::random (Mark)
  • raft::linalg (Divye)
  • raft::matrix (Corey)
  • raft::stats (Mickael)
  • raft::spatial::knn (Corey)

It might also make sense to break these up so different people can take on a couple namespaces. This could help 1) more developers getting quickly spun up on mdarray/mdspan, and 2) getting these knocked out more quickly while folks are able to work on different parts concurrently.

This issue will also close #360

@github-actions
Copy link

This issue has been labeled inactive-30d due to no recent activity in the past 30 days. Please close this issue if no further response or action is needed. Otherwise, please respond with a comment indicating any updates or changes to the original issue and/or confirm this issue still needs to be addressed. This issue will be labeled inactive-90d if there is no activity in the next 60 days.

@cjnolet cjnolet changed the title [FEA] Implement new API functions using device_*_view [FEA] Implement new API functions using new mdspan API May 20, 2022
@cjnolet cjnolet changed the title [FEA] Implement new API functions using new mdspan API [FEA] Implement new API functions using mdspan May 20, 2022
mhoemmen added a commit to mhoemmen/raft that referenced this issue Sep 7, 2022
Add an overload of make_regression
that takes mdspan, instead of raw pointers.
The overload does not increase generality
(e.g., it still requires row-major mdspan).

Part of rapidsai#535.
mhoemmen added a commit to mhoemmen/raft that referenced this issue Sep 7, 2022
Add an overload of make_regression
that takes mdspan, instead of raw pointers.
The overload does not increase generality
(e.g., it still requires row-major mdspan).

Part of rapidsai#535.
rapids-bot bot pushed a commit that referenced this issue Sep 9, 2022
Add an overload of `make_regression` that takes mdspan, instead of raw pointers.  The overload does not increase generality
(e.g., it still requires row-major mdspan).

Part of #535.

Authors:
  - Mark Hoemmen (https://github.com/mhoemmen)

Approvers:
  - Corey J. Nolet (https://github.com/cjnolet)

URL: #811
rapids-bot bot pushed a commit that referenced this issue Oct 7, 2022
Part of #535.
Implementation of the raft::stats API with mdspan, with the C++ tests
14/22 Files implemented. The remaining files will come in a following PR.

Authors:
  - Micka (https://github.com/lowener)
  - Corey J. Nolet (https://github.com/cjnolet)

Approvers:
  - Corey J. Nolet (https://github.com/cjnolet)

URL: #802
@cjnolet cjnolet closed this as completed Nov 8, 2022
Repository owner moved this from In Progress to Done in VS/ML/DM Primitives Release Board Nov 8, 2022
@cjnolet cjnolet reopened this Nov 8, 2022
@cjnolet cjnolet closed this as completed Nov 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
EPIC These might span releases feature request New feature or request inactive-30d
Projects
Development

No branches or pull requests

3 participants