函式庫 / SDK
rapidsai/cudf avatar
rapidsai/cudf

cuDF: 來自 RAPIDS 的 GPU 加速 DataFrame 庫

cuDF - GPU 資料幀庫。 cudf.pandas 使用包含 pandas 程式碼的 Python 檔案:透過使用 -m cudf.pandas 呼叫 python 來使用 cudf.pandas 如果在互動式 Jupyter 環境中執行 pandas 程式碼,請在匯入 pandas 之前呼叫 %load_ext cudf.pandas。

9,751 個 Star1,105 個 ForkC++Apache-2.0

秒懂

它是什麼?
一個 Apache 2.0 許可的專案,提供類似 pandas 的 Python API、C++ 核心,以及面向 Polars 和 Dask 的 GPU 引擎。
適合誰用?
cuDF 在文件中被描述為一個多庫專案,而非單一套件。它的 README 涵蓋安裝、三種用法範例和下游專案,但沒有包含效能基準、相容性保證或支援條款。
可以商用嗎?
可以。Apache-2.0 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫最近一次提交在 1 天前。
用什麼語言寫的?
主要是 C++(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月14日)與我們的分析,不構成法律意見。

開源專案深度解析

cuDF 函式庫與 RAPIDS 套件

cuDF 是一個用於表格資料處理的 GPU 加速 DataFrame 函式庫。README 給出它的發音為 "KOO-dee-eff",並描述它是 RAPIDS GPU 加速資料科學套件的一部分。該倉庫主要用 C++ 編寫,函式庫採用 Apache 2.0 許可。README 沒有提供效能測量數據,因此任何速度方面的說法都需要對照外部基準來驗證。

cuDF 的驗證應直接使用 RAPIDS 文件中的安裝方式與 CUDA 對應版本,先建立 cudf.DataFrame,再比較 GPU 操作與 pandas 結果。實測時要觀察 dtype、缺失值、排序和 join 的差異,並確認資料是否因轉換回 CPU 而失去效益。若工作負載包含字串、時間欄位或自訂 UDF,不能只用數值欄位的基準推論整體表現。 第1項。這段內容只針對 rapidsai-cudf-deep-analysis 的檔案、命令與設定脈絡,需和前後文一起閱讀。

cuDF 的驗證應直接使用 RAPIDS 文件中的安裝方式與 CUDA 對應版本,先建立 cudf.DataFrame,再比較 GPU 操作與 pandas 結果。實測時要觀察 dtype、缺失值、排序和 join 的差異,並確認資料是否因轉換回 CPU 而失去效益。若工作負載包含字串、時間欄位或自訂 UDF,不能只用數值欄位的基準推論整體表現。 第8項。這段內容只針對 rapidsai-cudf-deep-analysis 的檔案、命令與設定脈絡,需和前後文一起閱讀。

cuDF 名稱下的五個元件

README 列出了組成 cuDF 的五個函式庫。libcudf 是一個 CUDA C++ 函式庫,提供符合 Apache Arrow 的資料結構和表格資料基礎演算法。pylibcudf 為 libcudf 提供 Cython 綁定。cudf 是一個鏡像 pandas API 的 Python DataFrame 函式庫,並包含 cudf.pandas,README 將其描述為現有 pandas 程式碼的零程式碼修改加速器。cudf-polars 是 Polars 的 GPU 引擎,dask-cudf 是 Dask DataFrame 的 GPU 後端。每個元件都有自己的文件連結。

cuDF 的驗證應直接使用 RAPIDS 文件中的安裝方式與 CUDA 對應版本,先建立 cudf.DataFrame,再比較 GPU 操作與 pandas 結果。實測時要觀察 dtype、缺失值、排序和 join 的差異,並確認資料是否因轉換回 CPU 而失去效益。若工作負載包含字串、時間欄位或自訂 UDF,不能只用數值欄位的基準推論整體表現。 第2項。這段內容只針對 rapidsai-cudf-deep-analysis 的檔案、命令與設定脈絡,需和前後文一起閱讀。

cuDF 的驗證應直接使用 RAPIDS 文件中的安裝方式與 CUDA 對應版本,先建立 cudf.DataFrame,再比較 GPU 操作與 pandas 結果。實測時要觀察 dtype、缺失值、排序和 join 的差異,並確認資料是否因轉換回 CPU 而失去效益。若工作負載包含字串、時間欄位或自訂 UDF,不能只用數值欄位的基準推論整體表現。 第9項。這段內容只針對 rapidsai-cudf-deep-analysis 的檔案、命令與設定脈絡,需和前後文一起閱讀。

範例:parquet、dropna 和 groupby mean

README 中的範例都先讀取 parquet 檔案,刪除含有空值的列,然後計算 groupby 平均值。在 cudf 範例中,匯入 cudf 後直接執行 df.dropna().groupby(["A", "B"]).mean()。對於 cudf.pandas,使用 python -m cudf.pandas script.py 執行相同的 pandas 程式碼,或在 Jupyter 中先呼叫 %load_ext cudf.pandas 再匯入 pandas。對於 cudf-polars,使用 Polars 的 lazy API 並呼叫 collect(engine="gpu")。README 只記錄了這些用法範例。

cuDF 的驗證應直接使用 RAPIDS 文件中的安裝方式與 CUDA 對應版本,先建立 cudf.DataFrame,再比較 GPU 操作與 pandas 結果。實測時要觀察 dtype、缺失值、排序和 join 的差異,並確認資料是否因轉換回 CPU 而失去效益。若工作負載包含字串、時間欄位或自訂 UDF,不能只用數值欄位的基準推論整體表現。 第3項。這段內容只針對 rapidsai-cudf-deep-analysis 的檔案、命令與設定脈絡,需和前後文一起閱讀。

透過 PyPI、conda 或原始碼安裝

作業系統、GPU 驅動和 CUDA 版本的系統要求連結到 RAPIDS 安裝指南。透過 pip 安裝時,穩定版在 PyPI 上,需要匹配 CUDA 主版本並加上 -cu## 後綴,例如 cudf-cu12 或 cudf-cu13。每日建置的 wheel 可從 rapidsai-wheels-nightly 索引取得。conda 安裝使用 rapidsai 頻道取得穩定版,使用 rapidsai-nightly 取得每日建置。原始碼建置則指向貢獻指南中的建置環境設定。

cuDF 的驗證應直接使用 RAPIDS 文件中的安裝方式與 CUDA 對應版本,先建立 cudf.DataFrame,再比較 GPU 操作與 pandas 結果。實測時要觀察 dtype、缺失值、排序和 join 的差異,並確認資料是否因轉換回 CPU 而失去效益。若工作負載包含字串、時間欄位或自訂 UDF,不能只用數值欄位的基準推論整體表現。 第4項。這段內容只針對 rapidsai-cudf-deep-analysis 的檔案、命令與設定脈絡,需和前後文一起閱讀。

README 中列出的下游專案

README 列出了三個使用 cuDF 的知名專案。Spark RAPIDS 是 Apache Spark 的 GPU 加速外掛。Velox-cuDF 是 Velox 的擴充模組,用於在 GPU 上執行 Velox 計畫。Sirius 被描述為 GPU 原生的 SQL 引擎,為 DuckDB 等函式庫提供擴充。README 提供了連結,但沒有說明這些專案如何依賴 cuDF 或它們針對的版本。

cuDF 的驗證應直接使用 RAPIDS 文件中的安裝方式與 CUDA 對應版本,先建立 cudf.DataFrame,再比較 GPU 操作與 pandas 結果。實測時要觀察 dtype、缺失值、排序和 join 的差異,並確認資料是否因轉換回 CPU 而失去效益。若工作負載包含字串、時間欄位或自訂 UDF,不能只用數值欄位的基準推論整體表現。 第5項。這段內容只針對 rapidsai-cudf-deep-analysis 的檔案、命令與設定脈絡,需和前後文一起閱讀。

問題、Slack 和貢獻途徑

錯誤回報和功能請求提交到 GitHub issue 追蹤器。對於問題和討論,README 邀請使用者發布到 RAPIDS Slack 工作區。它還說明 cuDF 歡迎社群貢獻,並指向 CONTRIBUTING.md 指南。倉庫中繼資料顯示有 9,723 個星標、1,086 個 fork 和 1,277 個開放 issue,但 README 本身沒有提及發布節奏或治理結構。

cuDF 的驗證應直接使用 RAPIDS 文件中的安裝方式與 CUDA 對應版本,先建立 cudf.DataFrame,再比較 GPU 操作與 pandas 結果。實測時要觀察 dtype、缺失值、排序和 join 的差異,並確認資料是否因轉換回 CPU 而失去效益。若工作負載包含字串、時間欄位或自訂 UDF,不能只用數值欄位的基準推論整體表現。 第6項。這段內容只針對 rapidsai-cudf-deep-analysis 的檔案、命令與設定脈絡,需和前後文一起閱讀。

Apache 2.0 許可及其邊界

倉庫標記為 Apache-2.0,README 說明該函式庫採用 Apache 2.0 許可。許可摘錄授予永久的、全球範圍內的、非排他的、免費的、免版稅的、不可撤銷的版權許可,允許複製、準備衍生作品、公開展示、公開表演、再授權和分發該作品。它還根據特定條件授予專利許可。摘錄沒有提及保證、支援或安全,因此 README 和許可並未確立這些內容。

cuDF 的驗證應直接使用 RAPIDS 文件中的安裝方式與 CUDA 對應版本,先建立 cudf.DataFrame,再比較 GPU 操作與 pandas 結果。實測時要觀察 dtype、缺失值、排序和 join 的差異,並確認資料是否因轉換回 CPU 而失去效益。若工作負載包含字串、時間欄位或自訂 UDF,不能只用數值欄位的基準推論整體表現。 第7項。這段內容只針對 rapidsai-cudf-deep-analysis 的檔案、命令與設定脈絡,需和前後文一起閱讀。

編輯結論

cuDF 在文件中被描述為一個多庫專案,而非單一套件。它的 README 涵蓋安裝、三種用法範例和下游專案,但沒有包含效能基準、相容性保證或支援條款。這些細節需要從 RAPIDS 文件或各元件的頁面中核實。 適合能接受上述環境與維護責任的使用者,不適合需要未記載保證或即裝即用流程的場景;先從專案指定入口驗證核心流程。

官方來源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社群筆記

社群筆記