Skip to content

Use ArrayFire Stream for Thrust operations #3029

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

Merged
merged 1 commit into from
Nov 2, 2020

Conversation

umar456
Copy link
Member

@umar456 umar456 commented Oct 22, 2020

The Thrust functions were being performed on the default stream. This PR fixes this to use the ArrayFire stream.

Description

ArrayFire had been using the default stream for Thrust operations. This was a mistake added when a Thrust policy was added to ArrayFire code to address temporary allocation by Thrust. This PR addresses that issue by using the ArrayFire stream for Thrust operations.

Changes to Users

N/Ajj

Checklist

  • Rebased on latest master
  • Code compiles
  • Tests pass
  • [ ] Functions added to unified API
  • [ ] Functions documented

@umar456 umar456 added the CUDA label Oct 22, 2020
@umar456 umar456 added this to the 3.8.1 milestone Oct 22, 2020
@syurkevi
Copy link
Contributor

syurkevi commented Nov 2, 2020

Have tested in custom project, Thrust is no longer queueing on the default stream. Just for reference: there is still a bug in cusolver that is queueing the default stream during inverse().

@syurkevi syurkevi self-requested a review November 2, 2020 16:24
@umar456 umar456 merged commit ec49f1a into arrayfire:master Nov 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants