{"id":8494,"library":"pylibcudf-cu12","title":"PyLibcuDF (CUDA 12)","description":"pylibcudf-cu12 is the Python binding layer for libcudf, a GPU-accelerated DataFrame library that is part of the NVIDIA RAPIDS ecosystem. It provides high-performance data manipulation primitives, primarily used through the higher-level `cudf` library. As of version 26.4.0, it follows a monthly release cadence, aligned with other RAPIDS components.","status":"active","version":"26.4.0","language":"en","source_language":"en","source_url":"https://github.com/rapidsai/cudf","tags":["GPU","dataframes","RAPIDS","CUDA","dataframe","high-performance","data-science"],"install":[{"cmd":"pip install pylibcudf-cu12","lang":"bash","label":"Recommended installation for CUDA 12"}],"dependencies":[{"reason":"Required Python version.","package":"python","optional":false},{"reason":"This specific package variant requires CUDA Toolkit 12.x to be installed and available on the system.","package":"cuda","optional":false},{"reason":"Minimum PyArrow version required by cudf v26.04.00 and later.","package":"pyarrow>=19","optional":false}],"imports":[{"note":"While 'pylibcudf' is the binding library, users typically interact with the higher-level 'cudf' API.","symbol":"cudf","correct":"import cudf"}],"quickstart":{"code":"import cudf\nimport numpy as np\n\n# Create a cuDF DataFrame from a dictionary\ndata = {'col1': np.random.rand(10), 'col2': np.arange(10)}\ngdf = cudf.DataFrame(data)\nprint(\"Original DataFrame:\")\nprint(gdf)\n\n# Perform a simple operation\ngdf['col3'] = gdf['col1'] * 2\nprint(\"\\nDataFrame after operation:\")\nprint(gdf)","lang":"python","description":"This quickstart demonstrates how to create a basic `cudf.DataFrame` and perform a simple element-wise operation, showcasing the primary entry point for using the library."},"warnings":[{"fix":"Upgrade PyArrow: `pip install 'pyarrow>=19'`","message":"Starting with v26.04.00, `pylibcudf` (and by extension `cudf`) requires PyArrow version 19 or higher. Earlier versions will lead to import or runtime errors.","severity":"breaking","affected_versions":">=26.04.00"},{"fix":"Review `cudf` migration guides for alternative approaches to custom row/chunk-wise operations. Often, these can be replaced by UDFs (User Defined Functions) or other optimized `cudf` methods.","message":"The `DataFrame.apply_chunks`, `Groupby.apply_grouped`, and `DataFrame.apply_rows` methods have been removed. They were deprecated in earlier versions (v25.10.00) and removed in v25.12.00.","severity":"breaking","affected_versions":">=25.10.00"},{"fix":"Ensure your system has CUDA Toolkit 12.x installed and configured correctly. If you need CUDA 11.x, install `pylibcudf-cu11` instead.","message":"The `pylibcudf-cu12` package is specifically compiled for CUDA Toolkit 12.x. Installing this package on a system with CUDA 11.x (or no CUDA toolkit) will likely result in `ImportError` or runtime failures due to ABI incompatibility.","severity":"gotcha","affected_versions":"All versions of `pylibcudf-cu12`"},{"fix":"Upgrade your CUDA Toolkit to version 12.x and install the corresponding `pylibcudf-cu12` package.","message":"In v25.08.00, `cudf` dropped support for CUDA 11 usages. This means that if you're upgrading from a significantly older `cudf` version and still using CUDA 11, you will encounter issues.","severity":"breaking","affected_versions":">=25.08.00"},{"fix":"If custom C++ code or extensions use this, they will need to be updated to use alternative resource management approaches, e.g., direct `rmm` usage.","message":"The C++ function `cudf::get_current_device_resource` was removed in v26.02.00. While a C++ change, it could affect custom extensions or deep integrations relying on this.","severity":"breaking","affected_versions":">=26.02.00"}],"env_vars":null,"last_verified":"2026-04-16T00:00:00.000Z","next_check":"2026-07-15T00:00:00.000Z","problems":[{"fix":"Verify that CUDA Toolkit 12.x is properly installed and its library paths are in your `LD_LIBRARY_PATH`. If your system has CUDA 11, consider installing `pylibcudf-cu11` instead of `pylibcudf-cu12`.","cause":"The `pylibcudf` library cannot find its underlying C++ shared library. This often indicates a missing or incorrectly configured CUDA environment, or an ABI mismatch (e.g., trying to run a CUDA 12 compiled library on a system with only CUDA 11 libraries).","error":"ImportError: libcudf.so: cannot open shared object file: No such file or directory"},{"fix":"These methods were removed in `v25.10.00` and `v25.12.00` after deprecation. Refactor your code to use alternative `cudf` APIs, UDFs, or other optimized functions that have replaced their functionality.","cause":"You are attempting to use a method (`apply_chunks`, `apply_rows`, `apply_grouped`) that has been removed from the `cudf` API in recent versions.","error":"AttributeError: 'DataFrame' object has no attribute 'apply_chunks'"},{"fix":"Upgrade your PyArrow library: `pip install 'pyarrow>=19'`.","cause":"Your installed PyArrow version is older than the minimum required by `cudf` v26.04.00 and later.","error":"pyarrow.lib.ArrowInvalid: pyarrow_version < 19 is not supported"},{"fix":"Update your NVIDIA GPU drivers to a version compatible with CUDA Toolkit 12.x. Refer to NVIDIA's CUDA Toolkit documentation for driver compatibility matrices.","cause":"The installed NVIDIA GPU driver is too old to support the CUDA Runtime version that `pylibcudf-cu12` was built against (CUDA 12).","error":"RuntimeError: CUDA driver version is insufficient for CUDA runtime version"}]}