• <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • 數據科學

    NVIDIA cuPyNumeric 25.03 現已完全開源,支持 PIP 和 HDF5

    NVIDIA cuPyNumeric 是一個庫,旨在為基于 Legate 框架構建的 NumPy 提供分布式和加速的插入式替換。它為多 GPU 和多節點 (MGMN) 加速計算帶來了零代碼更改擴展。

    cuPyNumeric 25.03 是一次里程碑式的更新,為用戶和開發者引入了強大的新功能,并增強了可訪問性,詳情請參閱本文。

    全棧現已開源

    “借助 cuPyNumeric 25.03,NVIDIA 在 Apache 2 許可證下開源了支持 cuPyNumeric 的 Legate 框架和運行時層。現在,cuPyNumeric 的整個堆棧均在 Apache 2 許可證下提供。此舉符合 NVIDIA 對透明度、再現性和協作性的承諾。貢獻者現在可以毫無障礙地探索、審核、貢獻和擴展系統的任何組件。”

    PIP 安裝支持

    cuPyNumeric 從一開始就支持通過 conda 進行安裝。現在,用戶也可以使用以下簡單命令通過 pip 進行安裝:

    pip install nvidia-cupynumeric

    這可顯著簡化設置,從而輕松將 cuPyNumeric 集成到您的工作流、虛擬環境和 CI 流水線中。除 MPI 外,所有主要依賴項均可通過 PyPI 捆綁或輕松解析。

    與 OpenMPI 和 UCX 一起,PyPI 上的 cuPyNumeric 軟件包支持多節點和多秩。它使開發者不僅可以在具有多個 GPU 的單個節點中使用 cuPyNumeric,還可以在多 GPU 多節點集群中使用 cuPyNumeric。

    安裝示例

    以下各節將概述使用 PyPI wheel 包在 SLURM 集群上安裝和運行 cuPyNumeric 的示例。

    第 1 步:環境設置

    登錄集群后,加載包括 CUDA 和 MPI 在內的基本環境模塊。這些是在多節點或多秩環境中執行 cuPyNumeric 所需的依賴包。如果集群上不可用,請手動安裝,或聯系系統管理員請求安裝。

    module purge # clear existing modules
    module load cuda # CUDA toolkit
    module load openmpi # Open MPI

    接下來,創建并激活虛擬環境 (推薦) 。如果您想將軟件包安裝到當前的 Python 環境中,則無需執行此操作。

    python -m venv legate
    source legate/bin/activate

    第 2 步:安裝軟件包

    使用 pip 安裝 cuPyNumeric 和 Legate:

    pip install legate nvidia-cupynumeric

    第 3 步:運行應用程序

    使用 srun 分配交互式 compute nodes:

    srun -p partition-name \    # Request a partition
         -N 2 \                 # 2 compute nodes
         --gres=gpu:8 \         # 8 GPU per node
         --time=00:30:00 \      # 30-minute time limit
         --pty bash             # Start interactive shell

    然后運行 cuPyNumeric 程序:

    legate --gpus 8 \              # GPUs per process
           --ranks-per-node 1 \    # Processes per node
           --nodes 2 \             # Total nodes (matches -N)
           --launcher mpirun \     # launch with MPI
           ./prog.py

    還支持使用 SLURM 批量作業提交運行:

    #!/bin/bash
    #SBATCH --job-name=cupynumeric
    #SBATCH --nodes=2
    #SBATCH --gres=gpu:8
    #SBATCH --time=00:30:00
     
    module load cuda openmpi
    source legate/bin/activate
     
    legate --gpus 8 \
           --ranks-per-node 1 \
           --nodes ${SLURM_NNODES} \
           --launcher mpirun \
           ./prog.py

    有關更多信息,請參閱 cuPyNumeric 25.03 安裝指南

    原生 HDF5 IO 支持

    cuPyNumeric 25.03 通過 GPU Direct Storage 原生支持 HDF5,可高效處理大型數據集,并與科學計算環境實現無縫互操作。借助 HDF5,您現在可以使用緊湊、便攜、高性能的格式將復雜的數據結構保存到磁盤,并且性能出色。

    from legate.core.io.hdf5 import from_file
    import cupynumeric as np
     
    x = from_file("data.h5", dataset_name="x")
    y = from_file("data.h5", dataset_name="y")
    xx = np.asarray(x)
    yy = np.asarray(y)
    a = 8675.309
     
    yy[:] = a * xx + yy

    此功能對于 IO 效率至關重要的高性能計算和數據密集型應用程序尤為有用。

    開始使用

    NVIDIA cuPyNumeric 25.03 增強了 cuPyNumeric 在研究和生產環境中的基礎。 如需了解 25.03 版本中的更多新特性和功能,請參閱版本說明 。團隊對不斷壯大的社區心存感激,并歡迎您為未來的版本提供反饋、貢獻和想法。通過將問題直接提交到 nv-legate/cupynumeric GitHub 存儲庫,加入對話。

    ?

    0

    標簽

    人人超碰97caoporen国产