Gregory Kimball – NVIDIA 技術博客 http://www.open-lab.net/zh-cn/blog 閱讀開發者創建的最新技術信息、頭條新聞 和內容。 Fri, 21 Feb 2025 04:26:25 +0000 zh-CN hourly 1 196178272 使用 NVIDIA cuDF,pandas 讀取 JSON 行文件速度提升100倍 http://www.open-lab.net/zh-cn/blog/json-lines-reading-with-pandas-100x-faster-using-nvidia-cudf/ Thu, 20 Feb 2025 04:21:11 +0000 http://www.open-lab.net/zh-cn/blog/?p=12962 Continued]]> JSON 是一種廣泛采用的格式,用于在系統之間 (通常用于 Web 應用和大語言模型 (LLMs)) 以互操作方式運行的基于文本的信息。雖然 JSON 格式是人類可讀的,但使用數據科學和數據工程工具進行處理十分復雜。 JSON 數據通常采用換行分隔的 JSON 行 (也稱為 NDJSON) 的形式來表示數據集中的多個記錄。將 JSON 行數據讀入數據幀是數據處理中常見的第一步。 在本文中,我們比較了使用以下庫將 JSON 行數據轉換為數據幀的 Python API 的性能和功能: 我們使用 cudf.pandas 中的 JSON 讀取器展示了良好的擴展性能和高數據處理吞吐量,特別是對于具有復雜模式的數據。我們還審查了 cuDF 中的一組通用 JSON 讀取器選項,這些選項可提高與 Apache Spark 的兼容性,并使 Python 用戶能夠處理引文歸一化、無效記錄、

Source

]]>
12962
使用 RAPIDS cuDF pandas 加速器模式處理 10 億行數據 http://www.open-lab.net/zh-cn/blog/processing-one-billion-rows-of-data-with-rapids-cudf-pandas-accelerator-mode/ Wed, 11 Sep 2024 08:01:48 +0000 http://www.open-lab.net/zh-cn/blog/?p=11278 Continued]]> 十億行挑戰賽 (One Billion Row Challenge) 是一個有趣的基準測試,旨在展示基本的數據處理操作。它最初是作為純 Java 競賽發起的,現已聚集了其他語言(包括 Python、Rust、Go、Swift 等)的開發者社區。對于許多有興趣探索文本文件閱讀細節、基于哈希的算法和 CPU 優化的軟件工程師來說,這項挑戰賽非常有用。截至 2024 年年中,One Billion Row Challenge GitHub 存儲庫已經吸引了超過 1.8K 個分叉,獲得了超過 6K 顆星,并啟發了數十篇博客文章和視頻。 本文將展示如何使用 RAPIDS cuDF pandas 加速器模式完成處理十億行數據的挑戰。具體而言,我們將展示 cuDF pandas 加速器版本 24.08 中的兩項新功能 —— 大字符串支持和帶預取的托管內存 —— 如何借助 GPU…

Source

]]>
11278
使用 RAPIDS 的 Parquet 字符串數據的編碼和壓縮指南 http://www.open-lab.net/zh-cn/blog/encoding-and-compression-guide-for-parquet-string-data-using-rapids/ Wed, 17 Jul 2024 04:36:41 +0000 http://www.open-lab.net/zh-cn/blog/?p=10645 Continued]]> Parquet Writer 提供了默認關閉的編碼和壓縮選項。啟用這些選項可以為數據提供更好的無損壓縮,但了解用于特定用例的選項對于確保它們按預期執行是至關重要的。 在本文中,我們將探討哪些編碼和壓縮選項最適合您的字符串數據。字符串數據在數據科學中無處不在,用于表示小片段信息,如名稱、地址和數據標簽,以及大片段信息,如 DNA 序列、JSON 對象和完整文檔。 首先,我們解釋每個選項。 在 Parquet 格式中,有兩種 delta 編碼,旨在優化字符串數據的存儲。為了幫助分析每個選項,我們構建了一項工程研究,使用 libcudf 和 cudf.pandas 對來自公開來源的字符串數據進行分析,以比較 Parquet 的編碼和壓縮方法的有效性,使用文件大小、讀取時間和寫入時間作為指標。 在 RAPIDS 開源加速數據科學庫套件中,

Source

]]>
10645
在 RAPIDS libcudf 中使用嵌入式數據類型簡化 ETL 工作流程 http://www.open-lab.net/zh-cn/blog/streamline-etl-workflows-with-nested-data-types-in-rapids-libcudf/ Fri, 15 Dec 2023 05:29:43 +0000 http://www.open-lab.net/zh-cn/blog/?p=8581 Continued]]> 嵌入式數據類型是一種表示列式數據中分層關系的便捷方式。它們經常用于 提取、轉換、加載(ETL)在商業智能領域的工作負載、推薦系統、網絡安全、地理空間和其他應用中。 例如,列表類型可用于輕松地將多個事務附加到用戶,而無需創建新的查找表。結構類型可用于在同一列中附加靈活的元數據和許多鍵值對。在 Web 和移動應用程序中,嵌套類型將原始 JSON 對象表示為數據列中的元素,從而使這些數據能頭輸入到 機器學習(ML)訓練管線。許多數據科學應用都依賴于嵌套類型來對復雜的數據輸入進行建模、管理和處理。 在 RAPIDS 中,libcudf 是一套用于列式數據處理的 CUDA C++ 庫,旨在加速數據科學庫的性能。RAPIDS libcudf 基于 Apache Arrow 內存格式,支持 GPU 加速的數據讀取器、寫入器、關系代數函數和列轉換操作。 除了數字和字符串等基本數據類型外,

Source

]]>
8581
GPU 加速的 RAPID JSON 數據處理 http://www.open-lab.net/zh-cn/blog/gpu-accelerated-json-data-processing-with-rapids/ Thu, 09 Feb 2023 03:03:39 +0000 http://www.open-lab.net/zh-cn/blog/?p=6278 Continued]]> JSON 是一種廣泛采用的基于文本的信息格式,可在系統之間互操作,最常見于 web 應用程序。雖然 JSON 格式是人類可讀的,但使用數據科學和數據工程工具處理它很復雜。 為了彌補這一差距, RAPIDS cuDF 提供了一個 GPU 加速的 JSON 讀取器( cudf.read_json ),該讀取器對于許多 JSON 數據結構都是高效和健壯的。 JSON format 指定了一種通用的樹狀數據結構, cuDF 實現了算法,可以輕松地將 JSON 樹轉換為柱狀數據。 cuDF 是一個 GPU DataFrame 庫,用于在 Python 中加載、連接、聚合、過濾和以其他方式操作數據。當 JSON 數據被構造為柱狀數據時,它可以訪問強大的 cuDF DataFrame API 。我們很高興能夠通過本讀者打開 GPU 加速到更多數據格式、項目和建模工作流的可能性。

Source

]]>
6278
在 RAPIDS libcudf 中掌握字符串轉換 http://www.open-lab.net/zh-cn/blog/mastering-string-transformations-in-rapids-libcudf/ Mon, 17 Oct 2022 02:22:00 +0000 http://www.open-lab.net/zh-cn/blog/?p=5468 Continued]]> 字符串數據的高效處理對于許多數據科學應用至關重要。為了從字符串數據中提取有價值的信息, RAPIDS libcudf 提供了加速字符串數據轉換的強大工具。 lib cuDF 是一個 C ++ GPU DataFrame 庫,用于加載、連接、聚合和過濾數據。 在數據科學中,字符串數據表示語音、文本、遺傳序列、日志記錄和許多其他類型的信息。在為機器學習和特征工程處理字符串數據時,必須經常對數據進行規范化和轉換,然后才能將其應用于特定用例。 lib cuDF 提供了通用 API 和設備端實用程序,以支持廣泛的自定義字符串操作。 本文演示了如何使用 lib cuDF 通用 API 巧妙地轉換字符串列。您將獲得關于如何使用自定義內核和 lib cuDF 設備端實用程序解鎖峰值性能的新知識。本文還向您介紹了如何最好地管理 GPU 內存和有效地構造 lib cuDF 列以加快字符串轉換的示例。

Source

]]>
5468
使用 GPUDirect 存儲和 RAPIDS cuDF 提高數據攝取吞吐量 http://www.open-lab.net/zh-cn/blog/boosting-data-ingest-throughput-with-gpudirect-storage-and-rapids-cudf/ Fri, 27 May 2022 07:26:00 +0000 http://www.open-lab.net/zh-cn/blog/?p=4233 Continued]]> 如果您從事數據分析工作,您就會知道數據攝取通常是數據預處理工作流的瓶頸。由于數據量大且常用格式復雜,從存儲中獲取數據并對其進行解碼通常是工作流中最耗時的步驟之一。對從事大型數據集研究的數據科學家來說,優化數據攝取可以大大減少這一瓶頸。 RAPIDS cuDF 通過為數據科學中流行的格式實現 CUDA 加速讀取器,大大加快了數據解碼速度。 此外, Magnum IO GPUDirect Storage ( GDS )使 cuDF 能夠通過將數據直接從存儲器加載到設備( GPU )內存來加速輸入/輸出。通過在 GPU 和兼容存儲設備(例如,非易失性存儲器 Express ( NVMe )驅動器)之間通過 PCIe 總線提供直接數據路徑, GDS 可以實現高達 3 – 4 倍的 cuDF 讀取吞吐量,在各種數據配置文件中的平均吞吐量提高 30 – 50% 。 在本文中,

Source

]]>
4233
人人超碰97caoporen国产