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

Stop releasing semaphore in GpuUserDefinedFunction #7846

Merged

Conversation

abellina
Copy link
Collaborator

@abellina abellina commented Mar 6, 2023

Closes #7729

This was found by a customer running a GpuUserDefinedFunction within a GpuProjectExec. GpuUserDefinedFunction is reusing an iterator (ColumnarToRowIterator) which releases the semaphore after it has converted columnar batches to internal rows.

When a UDF is evaluated in a GPU projection we do not want to release the semaphore as things are currently written, so I added an option to tell ColumnarToRowIterator to not release, defaulting it to release=true (so I don't break other code)

@abellina
Copy link
Collaborator Author

abellina commented Mar 6, 2023

build

Copy link
Contributor

@jbrennan333 jbrennan333 left a comment

Choose a reason for hiding this comment

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

+1 lgtm

@abellina abellina merged commit 74c666e into NVIDIA:branch-23.04 Mar 6, 2023
@abellina abellina deleted the semaphore/udf_release_during_project branch March 6, 2023 19:46
@sameerz sameerz added the bug Something isn't working label Mar 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BUG] Active GPU thread not holding the semaphore
4 participants