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

Newer Releases #888

Closed
ax3l opened this issue Aug 7, 2017 · 17 comments
Closed

Newer Releases #888

ax3l opened this issue Aug 7, 2017 · 17 comments
Assignees
Labels
type: enhancement New feature or request.

Comments

@ax3l
Copy link

ax3l commented Aug 7, 2017

Dear @jaredhoberock and @wnbell ,

are you planning to make the thrust releases 1.8.3-patch2 (CUDA 8.0) and the upcoming 1.9.0 (CUDA 9.0) available on GitHub as well?

It would be awesome for users that want to use the non-CUDA backends or just a simple standalone version of Thrust. Also, it would be great to have a central, open repo to contribute PRs and report bugs to.

Some people also overlooked in the past that there is a 1.8.3 branch on GitHub which contains some critical bug fixes. Keeping the overall release line open on GitHub could release that burden.

Thanks for considering! ✨

@henryiii
Copy link

CUDA 9.0 has been released, and 1.8.3 doesn't not work on it. 1.9 inside CUDA 9.0 is signifianly different, including the removal of bulk.h.

@brycelelbach
Copy link
Collaborator

I can't give an update on this right now, but you can expect one in the near future.

@ax3l
Copy link
Author

ax3l commented Oct 24, 2017

Ok, thanks. We are hoping for further updates :)

Note: CUDA 9.0(.176) ships thrust 1.9.0-patch5

@cjue
Copy link

cjue commented Feb 7, 2018

Bump.
Where should we report issues with the thrust release shipped with CUDA 9.1?

@ax3l
Copy link
Author

ax3l commented Feb 7, 2018

Note: CUDA 9.1(.85) ships thrust 1.9.1-patch2 (still nothing from the 1.9 line on GitHub)

@ax3l
Copy link
Author

ax3l commented Feb 7, 2018

The current list of CUDA-released but not GitHub released versions of thrust in the last years are:

  • CUDA 8.0: 1.8.3-patch2
  • CUDA 9.0: 1.9.0-patch5
  • CUDA 9.1: 1.9.1-patch2
  • CUDA 9.2: 1.9.2
  • CUDA 10.0: 1.9.3

@brycelelbach is there any update on the process of pushing those to GitHub as master updates and new tags/releases? :)

@brycelelbach
Copy link
Collaborator

brycelelbach commented Feb 7, 2018

Hi all,

Sorry for the silence! We have made a lot of progress on this internally. I think it'll be alright for me to give y'all a brief overview of our plans.

I have (painstakingly) merged the version control history of Thrust on GitHub with NVIDIA's internal version control system. Previously, the two histories were separate, with updates from GitHub periodically copied in bulk into our internal version control system (since 2011), until we moved development to our internal system and stopped pushing updates to GitHub (since 2015). The end result is that we had two partially divergent histories for Thrust, and there were no recent common points (e.g. revisions in both histories that had the same content). To reconstruct a single history, I took the GitHub history of Thrust from inception until 2015, then added the internal history from 2015 to now (converted to Git) - I'm calling this branch unification. Then, finally, I cherry-picked the GitHub history from 2015 to now onto the unification branch.

Going forward, the Git history and the internal history will be mirrored exactly. All of this will enable us to push release tags to GitHub when the CUDA toolkit ships, to push changes to GitHub in between CUDA releases, and to pull in bug fixes and contributions from the community - while retaining our ability to integrate and test Thrust with the rest of the CUDA toolkit. We've also formulated a plan for testing the GitHub version of Thrust internally, in addition to open source CI that will be on GitHub.

We are still going through some internal processes to finalize our plans to restart Thrust GitHub activity. I expect that process will take another month or so to complete, assuming we do not encounter any roadblocks (which I think is unlikely).

The next CUDA release will be the first release with the new history - e.g. the revision of our internal version control system that the next CUDA toolkit is rolled from will have a corresponding identical Git revision. The changes from GitHub from 2015 to now (which is not substantial, but not trivial) will not be in the next CUDA release, due to timing. The CUDA release after that will be the first release where all GitHub changes (and hopefully some # of open PRs) will be incorporated and we will finally have truly unified history and no divergence.

I will also be able to create release tags/branches for CUDA 9.1, 9.0 and earlier releases. Going forward, I am considering shifting Thrust's versioning to match CUDAs to minimize confusion.

As for filing bugs, just filing a GitHub issue is fine for filing issues against any version of Thrust. I do have to then duplicate the issue into our internal bug tracking system, but that's fine by me.

You can also file bugs via the NVIDIA developer program or our partner interface. This may be a better option than GitHub if you have a business relationship with NVIDIA. You'll get a bug reference number out of either system. Please make sure to email me ([email protected]) if you do file a bug this way, so I can make sure it is routed to me.

Due to a technical issue, I have not been getting notifications about GitHub issues for the past few weeks. We have a GitLab mirror of GitHub, and I thought it was syncing the issues from GitHub, but it turns out it's a one time import.

I'm very excited about the 2018 feature roadmap we have planned for Thrust specifically, and CUDA C++ in general. That's not something I can talk about yet - but if you're interested, come to GTC 2018!

@brycelelbach
Copy link
Collaborator

TL;DR Bug confirmed, will fix.

@ax3l
Copy link
Author

ax3l commented Feb 7, 2018

those are fantastic news @brycelelbach , thank you for the work in restarting the public repo and syncing the branch divergences of the last years. It's much appreciated! :)
We are looking very much forward to the CUDA C++ roadmap in 2018, hurray!

@jaredhoberock
Copy link
Contributor

jaredhoberock commented Feb 7, 2018

@brycelelbach Thanks for the summary, Bryce. It might be a good idea to send this message to the thrust-users mailing list so those who aren't monitoring Github are aware of our plan.

@hwinkler
Copy link
Contributor

@brycelelbach is it still your plan to update this repository? fingers crossed

@brycelelbach
Copy link
Collaborator

Yes. I can't give you guys a firm timeframe, but next release we should be ready. All the technical work is done, aside from build system stuff [0, 1]. It's just a matter of pushing the button [2].

0: The build system stuff is complicated. Right now we have the Scons build system, which most people are familiar with, and the internal NVIDIA build system that uses NVIDIAs makefile framework. My plan is to scrap both, move to CMake, and have the internal NVIDIA build system just invoke CMake. ATM the internal continuous integration and testing does not use the SCons system, and obviously it's a problem for me to be using one build system and y'all to be using another one.

1: We also will need to set up a contributor license agreement system. If anyone is familiar with clabot (used by Google) or similar software, it'll work like that - if you send a PR and the bot doesn't have a CLA for you, it will ask you to fill one out. Also, I'd like to try and relicense all the Thrust code under Apache (it is currently a mix of Boost, BSD and Apache).

2: We are in the final stages of getting sign off for this right now.

brycelelbach added a commit that referenced this issue Feb 28, 2019
…h space in the new implementation to resolve performance regressions.

First commit through git-p4 from mirrored Git/Perforce history.
bug 200355591
bug 1997368
bug 1844781
GH #888
git-commit 140a31d206168a4dde611a8825009832b96e01f3
git-author Bryce Adelstein Lelbach aka wash <[email protected]>

Jobs: 1844781-2006 1997368-2006 200355591-2006
[git-p4: depot-paths = "//sw/gpgpu/thrust/": change = 23352743]
brycelelbach added a commit that referenced this issue Feb 28, 2019
- Fix dispatch for the CUDA backend's `reduce` to use two functions (one with the pragma for disabling exec checks, one with THRUST_RUNTIME_FUNCTION) instead of one. This fixes a regression with device compilation that started in CUDA 9.2
- Fully namespace qualify uses of things in the `thrust::detail` namespace to avoid ambiguities.
Review: Internal GitLab #888
Signed-off-by: Jared Hoberock <[email protected]>
Bug 2096679
Bug 2351990
GitHub #924
git-commit 412c623f939fd676ee619c93f2ca478a6046c611
git-author Bryce Adelstein Lelbach aka wash <[email protected]>
VDVS: http://ausdvs.nvidia.com/Build_Results?virtualId=1000216448&which_page=current_build

Jobs: 2096679-2006
[git-p4: depot-paths = "//sw/gpgpu/thrust/": change = 24706499]
brycelelbach added a commit that referenced this issue Feb 28, 2019
…ut all

configuration variables when running.
Review: Internal GitLab #888
Signed-off-by: Jared Hoberock <[email protected]>
git-commit e6e602a
git-author Bryce Adelstein Lelbach aka wash <[email protected]>
VDVS: http://ausdvs.nvidia.com/Build_Results?virtualId=1000221757&which_page=current_build

[git-p4: depot-paths = "//sw/gpgpu/thrust/": change = 24782759]
@judfs
Copy link

judfs commented Jun 12, 2019

(I had this bookmarked). It seems this is resolved? https://github.com/thrust/thrust/blob/master/doc/branching.md

@cjue
Copy link

cjue commented Jun 14, 2019

Yay for the updated repository.

One not though: the documentation on http://thrust.github.io/ is still not updated.

@ax3l
Copy link
Author

ax3l commented Jun 15, 2019

Good catch! @cjue if you like, you can propose a PR to https://github.com/thrust/thrust.github.com :)

brycelelbach added a commit that referenced this issue May 16, 2020
…h space in the new implementation to resolve performance regressions.

First commit through git-p4 from mirrored Git/Perforce history.
bug 200355591
bug 1997368
bug 1844781
GH #888
git-commit 140a31d206168a4dde611a8825009832b96e01f3
git-author Bryce Adelstein Lelbach aka wash <[email protected]>

Jobs: 1844781-2006 1997368-2006 200355591-2006
[git-p4: depot-paths = "//sw/gpgpu/thrust/": change = 23352743]
brycelelbach added a commit that referenced this issue May 16, 2020
…h space in the new implementation to resolve performance regressions.

First commit through git-p4 from mirrored Git/Perforce history.
bug 200355591
bug 1997368
bug 1844781
GH #888
git-commit 140a31d206168a4dde611a8825009832b96e01f3
git-author Bryce Adelstein Lelbach aka wash <[email protected]>

Jobs: 1844781-2006 1997368-2006 200355591-2006
[git-p4: depot-paths = "//sw/gpgpu/thrust/": change = 23352743]
@ax3l
Copy link
Author

ax3l commented May 17, 2020

Thank you for pushing the history of release tags two days ago including the detailed changelog alongside them, @brycelelbach! 🚀 ✨

@ax3l ax3l closed this as completed May 17, 2020
@brycelelbach
Copy link
Collaborator

Enjoy! The same has been done for CUB

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

No branches or pull requests

7 participants