NVIDIA/DALI
A GPU-accelerated library containing highly optimized building blocks and an execution engine for data processing to accelerate deep learning training and inference applications.
What it solves
NVIDIA DALI (Data Loading Library) 消除深度學習流水線中的 CPU 瓶頸。在傳統的工作流中,數據加載和預處理(如解碼、裁剪和縮放)由 CPU 處理,這往往會限制訓練和推理的整體性能和可擴展性。
How it works
DALI 將數據預處理任務卸載到 GPU。它使用專用的執行引擎,通過透明的預取、並行執行和批處理來最大化吞吐量。它提供了一個函數式的 Python API,並支持「Pipeline mode」和用於更靈活執行的「Dynamic mode」。
Who it's for
處理圖像、視頻和音頻數據的深度學習從業者和研究人員,需要通過在 PyTorch、TensorFlow、JAX 和 PaddlePaddle 等框架中加速其輸入流水線來最大化 GPU 利用率。
Highlights
- Multi-format support: 支持廣泛的格式,包括 JPEG, JPEG 2000, WAV, FLAC, OGG, H.264, VP9, HEVC, LMDB, and TFRecord.
- Framework portable: 可作為 PyTorch, TensorFlow, JAX, and PaddlePaddle 中的數據加載器的直接替換方案。
- Hardware acceleration: 支持 CPU 和 GPU 執行,並可在多個 GPU 上進行擴展。
- Drect data path: 通過 GPUDirect Storage 實現存儲與 GPU 內存的直接路徑。
- Extensible: 允許開發者創建自定義的流水線和算子。
- Triton integration: 輕鬆地與 NVIDIA Triton Inference Server 集成。