rapidsai/cudf

Audit pylibcudf for `noexcept`/`nogil` and remove "Exception check … requires the GIL" warnings

Closed

#19,720 opened on Aug 18, 2025

 (3 comments) (0 reactions) (0 assignees)C++ (735 forks)batch import
Pythonbuggood first issue

Repository metrics

Stars
 (6,000 stars)
PR merge metrics
 (Avg merge 17d 21h) (230 merged PRs in 30d)

Description

Describe the bug When building pylibcudf, our CI logs show many performance warnings like:

performance hint: /__w/cudf/cudf/python/pylibcudf/pylibcudf/labeling.pyx:56:22:
Exception check after calling 'view' will always require the GIL to be acquired.
Declare 'view' as 'noexcept' if you control the definition and you're sure you
don't want the function to raise exceptions.

Example

https://github.com/rapidsai/cudf/actions/runs/17040978623/job/48305629162?pr=19446#step:12:330

Steps/Code to reproduce bug build pylibcudf with warnings

We should check pylibcudf for places where we’ve declared except * or except + but the C++ is non-throwing.

Expected behavior No perf warnings

Additional context Was recently fixed in RMM. See https://github.com/rapidsai/rmm/pull/2020

Contributor guide