rapidsai/cudf

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

Open

#19,720 opened on Aug 18, 2025

View on GitHub
 (3 comments) (0 reactions) (0 assignees)C++ (6,000 stars) (735 forks)batch import
Pythonbuggood first issue

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