Skip to content
This repository has been archived by the owner on Mar 21, 2024. It is now read-only.

thrust::universal_vector, thrust::universal_ptr, and thrust::universal_allocator #1334

Merged
merged 1 commit into from
Dec 4, 2020

Conversation

brycelelbach
Copy link
Collaborator

We added the underlying abstractions for unified memory a few releases ago, but typedefs of common Thrust abstractions that use unified memory are missing.

This causes user code to have to define these things themselves or spell them out, which is unnecessarily verbose. For example:

https://github.com/NVIDIA/libcudacxx/pull/31/files#diff-4eac15e63f9ee8faca1e62f47615b520927b5ab10f42043963c84c4d493750b8R25-R39

@brycelelbach brycelelbach added this to the 1.11.0 milestone Oct 29, 2020
@brycelelbach
Copy link
Collaborator Author

run tests

@brycelelbach brycelelbach force-pushed the feature/universal-vector-ptr-allocator branch from 20966ed to 14df646 Compare October 29, 2020 19:35
@brycelelbach
Copy link
Collaborator Author

run tests

@brycelelbach
Copy link
Collaborator Author

K now this PR changes all the backend pointer and reference types to be type aliases.

@brycelelbach brycelelbach force-pushed the feature/universal-vector-ptr-allocator branch from 14df646 to 2441dcb Compare October 30, 2020 03:27
@brycelelbach
Copy link
Collaborator Author

run tests

@alliepiper alliepiper self-assigned this Oct 30, 2020
@brycelelbach brycelelbach force-pushed the feature/universal-vector-ptr-allocator branch 3 times, most recently from 47b9dd8 to 2d216c0 Compare October 30, 2020 23:06
@brycelelbach
Copy link
Collaborator Author

run tests

Copy link
Collaborator

@alliepiper alliepiper left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gpuCI build is failing.

@alliepiper alliepiper assigned brycelelbach and unassigned alliepiper Nov 2, 2020
@brycelelbach brycelelbach force-pushed the feature/universal-vector-ptr-allocator branch from 2d216c0 to 8433d30 Compare November 3, 2020 02:26
@brycelelbach
Copy link
Collaborator Author

run tests

Copy link
Collaborator

@alliepiper alliepiper left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a lot of unrelated formatting changes that make the diff really noisy, but everything looks ok other than the comment about the changelog. I'll start running tests on this soon.

CHANGELOG.md Outdated Show resolved Hide resolved
@alliepiper
Copy link
Collaborator

DVS CL: 29342412

@alliepiper alliepiper added testing: internal ci in progress Currently testing on internal NVIDIA CI (DVS). testing: gpuCI in progress Started gpuCI testing. labels Nov 19, 2020
@alliepiper alliepiper added testing: gpuCI passed Passed gpuCI testing. and removed testing: gpuCI in progress Started gpuCI testing. labels Nov 24, 2020
@alliepiper
Copy link
Collaborator

DVS is failing, lots of timeouts on DVS-SC, and libcu++ issues are causing failing prereqs for DVS-AUS.

We'll try again later...

- `thrust::universal_vector`.
- `thrust::universal_ptr`.
- `thrust::universal_allocator`.

Change all backend fancy pointer and reference types to be aliases.

Substantially refactor `thrust::reference`.

Fix a bug that allowed `thrust::reference`s to const objects to be swapped:
https://godbolt.org/z/r9G4nY

Introduce a new `thrust::tagged_reference` type that breaks the circular
template argument dependency between `thrust::pointer` and `thrust::reference`.
@alliepiper alliepiper force-pushed the feature/universal-vector-ptr-allocator branch from 8433d30 to b778e2a Compare November 30, 2020 19:56
@alliepiper
Copy link
Collaborator

Rebased on main, resolved CHANGELOG.md conflicts.

Rerunning DVS to see if issues are resolved, repro timeouts.

DVS CL: 29371571

@alliepiper alliepiper added testing: internal ci passed Passed internal NVIDIA CI (DVS). and removed testing: internal ci in progress Currently testing on internal NVIDIA CI (DVS). labels Dec 4, 2020
@alliepiper alliepiper merged commit c251a15 into main Dec 4, 2020
@alliepiper alliepiper deleted the feature/universal-vector-ptr-allocator branch December 4, 2020 19:57
brycelelbach added a commit that referenced this pull request Dec 25, 2020
… from both

hosts and devices" to fix git blame authorship.

This reverts commit b778e2a.
@gevtushenko gevtushenko linked an issue Jan 29, 2023 that may be closed by this pull request
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
testing: gpuCI passed Passed gpuCI testing. testing: internal ci passed Passed internal NVIDIA CI (DVS).
Projects
None yet
Development

Successfully merging this pull request may close these issues.

unified memory allocator and pointer classes?
2 participants