Update cuDF repository references for NVIDIA organization - #23632
Conversation
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
📝 WalkthroughSummary by CodeRabbit
WalkthroughThe pull request replaces ChangesRepository reference migration and nested-list test coverage
Estimated code review effort: 2 (Simple) | ~10 minutes 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (1)
cpp/tests/lists/combine/concatenate_list_elements_tests.cpp (1)
879-883: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winRun clang-format on the new test.
Line 883 indents the
{}argument farther than the other arguments in thecudf::make_lists_columncall.Proposed formatting fix
grandchild.release(), 0, - {}); + {});As per coding guidelines, C++/CUDA is formatted with clang-format.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@cpp/tests/lists/combine/concatenate_list_elements_tests.cpp` around lines 879 - 883, Run clang-format on the test containing the cudf::make_lists_column call for inner_col, correcting the indentation of the {} argument to match the surrounding arguments without changing test behavior.Source: Coding guidelines
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/ISSUE_TEMPLATE/pandas_function_request.md:
- Line 10: Update the markdown link text in the issue template to replace “click
here” with descriptive wording such as “open a general cuDF feature request,”
while preserving the existing destination URL and surrounding sentence.
In `@python/dask_cudf/dask_cudf/_expr/collection.py`:
- Line 47: Update the issue reference in the nearby comment to use the
`cudf#14935` notation, keeping the existing issue number and link target
unchanged.
---
Nitpick comments:
In `@cpp/tests/lists/combine/concatenate_list_elements_tests.cpp`:
- Around line 879-883: Run clang-format on the test containing the
cudf::make_lists_column call for inner_col, correcting the indentation of the {}
argument to match the surrounding arguments without changing test behavior.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 83a7d2a8-bb68-4285-b687-b8864201112f
📒 Files selected for processing (222)
.agents/skills/debug-cudf-pandas/SKILL.md.agents/skills/perf-compare-cudf/SKILL.md.agents/skills/reproduce-ci/SKILL.md.agents/skills/reproduce-ci/parse-job-url.py.agents/skills/reproduce-ci/run.sh.agents/skills/review-cudf/SKILL.md.devcontainer/cuda12.9-conda/devcontainer.json.devcontainer/cuda12.9-pip/devcontainer.json.devcontainer/cuda13.3-conda/devcontainer.json.devcontainer/cuda13.3-pip/devcontainer.json.github/ISSUE_TEMPLATE/pandas_function_request.md.github/PULL_REQUEST_TEMPLATE.md.github/workflows/pr.yaml.github/workflows/test.yaml.pre-commit-config.yamlCHANGELOG.mdCONTRIBUTING.mdREADME.mdci/cudf_pandas_scripts/pandas-tests/run.shci/cudf_pandas_scripts/run_tests.shci/narwhals_cudf_pandas_test_plugin.pyci/release/update-version.shci/run_cudf_polars_polars_tests.shconda/recipes/cudf/recipe.yamlconda/recipes/pylibcudf/recipe.yamlcpp/.clang-tidycpp/cmake/thirdparty/get_cudf.cmakecpp/cmake/thirdparty/patches/override.jsoncpp/doxygen/developer_guide/TESTING.mdcpp/examples/fetch_dependencies.cmakecpp/include/cudf/detail/utilities/device_atomics.cuhcpp/include/cudf/detail/utilities/element_argminmax.cuhcpp/include/cudf/io/datasource.hppcpp/libcudf_streaming/benchmarks/streaming/ndsh/bench_read.cppcpp/libcudf_streaming/benchmarks/streaming/ndsh/q01.cppcpp/libcudf_streaming/benchmarks/streaming/ndsh/q03.cppcpp/libcudf_streaming/benchmarks/streaming/ndsh/q04.cppcpp/libcudf_streaming/benchmarks/streaming/ndsh/q09.cppcpp/libcudf_streaming/src/parquet.cppcpp/libcudf_streaming/src/partition_utils.cppcpp/src/interop/to_arrow_device.cucpp/src/interop/to_arrow_host.cucpp/src/io/avro/avro_gpu.cucpp/src/io/comp/common.hppcpp/src/io/orc/stats_enc.cucpp/src/io/orc/writer_impl.cucpp/src/io/parquet/experimental/dictionary_page_filter.cucpp/src/io/parquet/experimental/hybrid_scan_impl.cppcpp/src/io/parquet/reader_impl_helpers.hppcpp/src/io/parquet/reader_impl_preprocess_utils.cucpp/src/io/parquet/writer_impl.cucpp/src/io/statistics/column_statistics.cuhcpp/src/io/utilities/config_utils.cppcpp/src/io/utilities/data_sink.cppcpp/src/jit/row_ir.cppcpp/src/partitioning/round_robin.cucpp/src/quantiles/quantiles_util.hppcpp/src/reductions/nested_types_extrema_utils.cuhcpp/src/search/contains_table_impl.cuhcpp/src/strings/copying/concatenate.cucpp/src/strings/regex/regcomp.cppcpp/tests/ast/transform_tests.cppcpp/tests/column/column_test.cppcpp/tests/copying/split_tests.cppcpp/tests/groupby/max_tests.cppcpp/tests/groupby/min_tests.cppcpp/tests/groupby/rank_scan_tests.cppcpp/tests/groupby/sum_tests.cppcpp/tests/io/json/json_test.cppcpp/tests/io/orc_test.cppcpp/tests/io/parquet_reader_test.cppcpp/tests/io/parquet_writer_test.cppcpp/tests/lists/combine/concatenate_list_elements_tests.cppcpp/tests/sort/rank_test.cppcpp/tests/sort/segmented_sort_tests.cppcpp/tests/stream_compaction/drop_nulls_tests.cppcpp/tests/strings/replace_regex_tests.cppdependencies.yamldocs/cudf/README.mddocs/cudf/source/conf.pydocs/cudf/source/cudf/10min.ipynbdocs/cudf/source/cudf/developer_guide/contributing_guide.mddocs/cudf/source/cudf/developer_guide/documentation.mddocs/cudf/source/cudf/developer_guide/index.mddocs/cudf/source/cudf/developer_guide/testing.mddocs/cudf/source/cudf_pandas/benchmarks.mddocs/cudf/source/cudf_pandas/developer_guide.mddocs/cudf/source/cudf_polars/developer_docs.mddocs/cudf/source/cudf_polars/index.mddocs/cudf/source/cudf_polars/io_plugins.mddocs/cudf/source/developer_guide/index.mddocs/cudf/source/pylibcudf/developer_docs.mddocs/dask_cudf/source/conf.pyjava/README.mdjava/ci/README.mdjava/pom.xmljava/src/main/java/ai/rapids/cudf/ColumnWriterOptions.javajava/src/main/native/src/ColumnViewJni.cppjava/src/test/java/ai/rapids/cudf/ColumnVectorTest.javapython/cudf/cudf/core/column/column.pypython/cudf/cudf/core/column/decimal.pypython/cudf/cudf/core/column/string.pypython/cudf/cudf/core/column/timedelta.pypython/cudf/cudf/core/column_accessor.pypython/cudf/cudf/core/dataframe.pypython/cudf/cudf/core/groupby/groupby.pypython/cudf/cudf/core/reshape.pypython/cudf/cudf/core/series.pypython/cudf/cudf/io/csv.pypython/cudf/cudf/pandas/_benchmarks/utils.pypython/cudf/cudf/pandas/_wrappers/pandas.pypython/cudf/cudf/pandas/fast_slow_proxy.pypython/cudf/cudf/pandas/profiler.pypython/cudf/cudf/pandas/scripts/pandas-testing-plugin.pypython/cudf/cudf/testing/dataset_generator.pypython/cudf/cudf/tests/dask/test_serialize.pypython/cudf/cudf/tests/dataframe/indexing/test_iloc.pypython/cudf/cudf/tests/dataframe/indexing/test_loc.pypython/cudf/cudf/tests/dataframe/indexing/test_setitem.pypython/cudf/cudf/tests/dataframe/methods/test_apply.pypython/cudf/cudf/tests/dataframe/methods/test_assign.pypython/cudf/cudf/tests/dataframe/methods/test_astype.pypython/cudf/cudf/tests/dataframe/methods/test_reductions.pypython/cudf/cudf/tests/dataframe/methods/test_replace.pypython/cudf/cudf/tests/dataframe/test_binops.pypython/cudf/cudf/tests/general_functions/test_to_datetime.pypython/cudf/cudf/tests/groupby/test_agg.pypython/cudf/cudf/tests/groupby/test_apply.pypython/cudf/cudf/tests/groupby/test_attributes.pypython/cudf/cudf/tests/groupby/test_cov_corr.pypython/cudf/cudf/tests/groupby/test_shift.pypython/cudf/cudf/tests/indexes/timedeltaindex/test_binops.pypython/cudf/cudf/tests/input_output/test_avro.pypython/cudf/cudf/tests/input_output/test_csv.pypython/cudf/cudf/tests/input_output/test_hdfs.pypython/cudf/cudf/tests/input_output/test_orc.pypython/cudf/cudf/tests/input_output/test_parquet.pypython/cudf/cudf/tests/private_objects/test_column.pypython/cudf/cudf/tests/private_objects/test_nrt_stats.pypython/cudf/cudf/tests/reshape/test_concat.pypython/cudf/cudf/tests/series/accessors/test_str.pypython/cudf/cudf/tests/series/indexing/test_iloc.pypython/cudf/cudf/tests/series/indexing/test_loc.pypython/cudf/cudf/tests/series/indexing/test_setitem.pypython/cudf/cudf/tests/series/methods/test_apply.pypython/cudf/cudf/tests/series/methods/test_astype.pypython/cudf/cudf/tests/series/methods/test_memory_usage.pypython/cudf/cudf/tests/series/test_binops.pypython/cudf/cudf/tests/series/test_constructors.pypython/cudf/cudf/tests/test_no_cuinit.pypython/cudf/cudf_pandas_tests/third_party_integration_tests/dependencies.yamlpython/cudf/pyproject.tomlpython/cudf_kafka/pyproject.tomlpython/cudf_polars/cudf_polars/containers/column.pypython/cudf_polars/cudf_polars/dsl/expressions/datetime.pypython/cudf_polars/cudf_polars/dsl/expressions/string.pypython/cudf_polars/cudf_polars/dsl/expressions/struct.pypython/cudf_polars/cudf_polars/dsl/ir.pypython/cudf_polars/cudf_polars/dsl/translate.pypython/cudf_polars/cudf_polars/dsl/utils/aggregations.pypython/cudf_polars/cudf_polars/dsl/utils/io.pypython/cudf_polars/cudf_polars/engine/rank_local_store.pypython/cudf_polars/cudf_polars/quent/_types.pypython/cudf_polars/cudf_polars/streaming/actor_graph/collectives/sort.pypython/cudf_polars/cudf_polars/streaming/actor_graph/io.pypython/cudf_polars/cudf_polars/streaming/benchmarks/pdsds_queries/q1.pypython/cudf_polars/cudf_polars/streaming/benchmarks/pdsds_queries/q24.pypython/cudf_polars/cudf_polars/streaming/benchmarks/pdsds_queries/q56.pypython/cudf_polars/cudf_polars/streaming/benchmarks/pdsds_queries/q64.pypython/cudf_polars/cudf_polars/streaming/benchmarks/utils.pypython/cudf_polars/cudf_polars/streaming/expressions.pypython/cudf_polars/cudf_polars/streaming/parallel.pypython/cudf_polars/cudf_polars/streaming/rank_aware_source.pypython/cudf_polars/cudf_polars/testing/inject_gpu_engine.pypython/cudf_polars/docs/overview.mdpython/cudf_polars/pyproject.tomlpython/cudf_polars/tests/containers/test_column.pypython/cudf_polars/tests/expressions/test_agg.pypython/cudf_polars/tests/expressions/test_casting.pypython/cudf_polars/tests/expressions/test_gather.pypython/cudf_polars/tests/streaming/test_dataframescan.pypython/cudf_polars/tests/streaming/test_groupby.pypython/cudf_polars/tests/streaming/test_join.pypython/cudf_polars/tests/streaming/test_metadata.pypython/cudf_polars/tests/streaming/test_parallel.pypython/cudf_polars/tests/streaming/test_rolling.pypython/cudf_polars/tests/streaming/test_select.pypython/cudf_polars/tests/streaming/test_union.pypython/cudf_polars/tests/test_cache.pypython/cudf_polars/tests/test_engine_execute.pypython/cudf_polars/tests/test_groupby.pypython/cudf_polars/tests/test_mapfunction.pypython/cudf_polars/tests/test_tracing.pypython/cudf_polars/tests/testing/test_asserts.pypython/cudf_streaming/pyproject.tomlpython/custreamz/custreamz/tests/test_dataframes.pypython/custreamz/pyproject.tomlpython/dask_cudf/dask_cudf/_expr/collection.pypython/dask_cudf/dask_cudf/_expr/expr.pypython/dask_cudf/dask_cudf/_expr/groupby.pypython/dask_cudf/dask_cudf/_legacy/io/parquet.pypython/dask_cudf/dask_cudf/io/tests/test_csv.pypython/dask_cudf/dask_cudf/io/tests/test_orc.pypython/dask_cudf/dask_cudf/io/tests/test_parquet.pypython/dask_cudf/dask_cudf/tests/test_core.pypython/dask_cudf/dask_cudf/tests/test_groupby.pypython/dask_cudf/dask_cudf/tests/test_join.pypython/dask_cudf/dask_cudf/tests/test_onehot.pypython/dask_cudf/dask_cudf/tests/test_reductions.pypython/dask_cudf/pyproject.tomlpython/libcudf/pyproject.tomlpython/libcudf_streaming/pyproject.tomlpython/pylibcudf/pylibcudf/column.pyxpython/pylibcudf/pylibcudf/interop.pyxpython/pylibcudf/pylibcudf/scalar.pyxpython/pylibcudf/pylibcudf/strings/capitalize.pyxpython/pylibcudf/pylibcudf/strings/replace.pyxpython/pylibcudf/pyproject.tomlpython/pylibcudf/tests/io/test_parquet.pyskills/accelerated-computing-cudf/SKILL.mdskills/accelerated-computing-cudf/evals/files/source-cudf-null-fillna-semantics/NOTICE.mdskills/accelerated-computing-cudf/skill-card.md
| --- | ||
|
|
||
| This issue template is intended to be used primarily for requests related to pandas accelerator mode. If you'd like to file a general cuDF feature request, please [click here](https://github.com/rapidsai/cudf/issues/new?assignees=&labels=%3F+-+Needs+Triage%2C+feature+request&projects=&template=feature_request.md&title=%5BFEA%5D). | ||
| This issue template is intended to be used primarily for requests related to pandas accelerator mode. If you'd like to file a general cuDF feature request, please [click here](https://github.com/NVIDIA/cudf/issues/new?assignees=&labels=%3F+-+Needs+Triage%2C+feature+request&projects=&template=feature_request.md&title=%5BFEA%5D). |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Use descriptive link text.
Line 10 uses click here as the link text. This triggers markdownlint MD059 and does not identify the destination clearly. Replace it with text such as open a general cuDF feature request.
🧰 Tools
🪛 markdownlint-cli2 (0.23.2)
[warning] 10-10: Link text should be descriptive
(MD059, descriptive-link-text)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.github/ISSUE_TEMPLATE/pandas_function_request.md at line 10, Update the
markdown link text in the issue template to replace “click here” with
descriptive wording such as “open a general cuDF feature request,” while
preserving the existing destination URL and surrounding sentence.
Source: Linters/SAST tools
|
|
||
| # var can be removed if cudf#15179 is addressed. | ||
| # See: https://github.com/rapidsai/cudf/issues/14935 | ||
| # See: https://github.com/NVIDIA/cudf/issues/14935 |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -eu
file='python/dask_cudf/dask_cudf/_expr/collection.py'
printf '%s\n' '--- target lines ---'
sed -n '35,55p' "$file"
printf '%s\n' '--- references to issue IDs ---'
rg -n -C 2 '15179|14935' .
printf '%s\n' '--- repository status and recent file history ---'
git status --short
git log -8 --oneline -- "$file"Repository: NVIDIA/cudf
Length of output: 1868
🌐 Web query:
site:github.com/NVIDIA/cudf/issues/14935 OR site:github.com/NVIDIA/cudf/issues/15179 NVIDIA cudf
💡 Result:
NVIDIA cuDF is an open-source, GPU-accelerated data processing toolkit designed for structured data [1]. It is a core component of the RAPIDS ecosystem, utilizing highly optimized NVIDIA CUDA primitives to perform parallel data operations—such as filtering, joins, aggregations, and sorting—directly on the GPU [1]. Key features and characteristics of cuDF include: DataFrame API: cuDF provides a DataFrame object that mirrors familiar data science workflows, including Python and C++ interfaces [1]. It supports creating, manipulating, and analyzing data using syntax similar to common CPU-based libraries like pandas [1][2][3]. High-Performance Parallelism: By leveraging Apache Arrow’s columnar memory format, cuDF dispatches parallel kernels across thousands of GPU cores to maximize performance for workloads ranging from gigabytes to petabytes [1]. Ecosystem Integration: cuDF is designed to integrate with various data engines and libraries. It offers "zero-code-change" accelerators, such as cudf.pandas, which allow users to GPU-accelerate existing pandas workflows with minimal modification [1]. Other integrations include plugins for Apache Spark, Polars, DuckDB, and Presto [1]. Data Support: It supports a wide range of data types, including numeric, datetime, timedelta, categorical, and string types, as well as complex nested structures like lists and structs [4]. All data types in cuDF are nullable [4]. User-Defined Functions (UDFs): To handle custom logic, cuDF supports UDFs that can be applied to rows, columns, or groupings, allowing for flexible processing beyond built-in operators [5]. For developers, cuDF provides both a high-level Python interface for general data science tasks and a low-level C++ library (libcudf) for those building custom data engines or requiring deep hardware-level control [1][6].
Citations:
- 1: https://developer.nvidia.com/topics/ai/data-science/cuda-x-data-science-libraries/cudf
- 2: https://docs.nvidia.com/cudf/26.10/cudf/api_docs/api/cudf.DataFrame/
- 3: https://docs.rapids.ai/api/cudf/latest/user_guide/api_docs/api/cudf.dataframe/
- 4: https://docs.rapids.ai/api/cudf/latest/user_guide/data-types/
- 5: https://docs.rapids.ai/api/cudf/stable/user_guide/guide-to-udfs/
- 6: https://docs.nvidia.com/cudf/26.10/libcudf/api_docs/
🏁 Script executed:
#!/bin/bash
set -eu
for issue in 14935 15179; do
printf '%s\n' "--- GitHub issue $issue ---"
curl -fsSL "https://api.github.com/repos/rapidsai/cudf/issues/$issue" |
jq '{number, title, state, html_url, body, closed_at}'
done
printf '%s\n' '--- commits that introduced or changed the issue references ---'
git log --oneline -S 'cudf#15179' -- python/dask_cudf/dask_cudf/_expr/collection.py
git log --oneline -S 'issues/14935' -- python/dask_cudf/dask_cudf/_expr/collection.pyRepository: NVIDIA/cudf
Length of output: 465
🌐 Web query:
"cudf#15179" "14935"
💡 Result:
The GitHub issue #15179 in the rapidsai/cudf repository, titled "[FEA] Allow column indexing by cudf.Index," was a feature request to enable the use of cudf.Index objects for column projection without triggering an 'Index object is not iterable' error [1]. This issue was closed on May 17, 2024, in favor of tracking the work under issue #14935 [1]. Issue #14935 serves as the broader tracking issue for related improvements [1].
Citations:
Update the issue reference to cudf#14935. Issue 15179 was closed in favor of issue 14935, which matches the linked URL.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@python/dask_cudf/dask_cudf/_expr/collection.py` at line 47, Update the issue
reference in the nearby comment to use the `cudf#14935` notation, keeping the
existing issue number and link target unchanged.
| // this implementation must be kept in sync with the implementation of | ||
| // `cudf::ast::detail::operator_functor::fixed_point_result_scale` | ||
| // (https://github.com/rapidsai/cudf/blob/a5dccda20a74fe61e3c4491b0e74bdc0321d60d5/cpp/include/cudf/ast/detail/operator_functor.cuh#L161) | ||
| // (https://github.com/NVIDIA/cudf/blob/a5dccda20a74fe61e3c4491b0e74bdc0321d60d5/cpp/include/cudf/ast/detail/operator_functor.cuh#L161) |
There was a problem hiding this comment.
| // (https://github.com/NVIDIA/cudf/blob/a5dccda20a74fe61e3c4491b0e74bdc0321d60d5/cpp/include/cudf/ast/detail/operator_functor.cuh#L161) |
Let's just remove this one. I think the name is sufficient in the previous line.
mroeschke
left a comment
There was a problem hiding this comment.
Python files changes LGTM
Description
Updates repository references from
rapidsai/cudftoNVIDIA/cudffollowing the organization migration. GHCR image paths use the required lowercasenvidia/cudfnamespace.This PR is large. However, we can prove that it only consists of replacing
rapidsai/cudfwithNVIDIA/cudf, with a few minor exceptions:nvidia/cudfVerify with:
Checklist