halide/Halide
a language for fast, portable data-parallel computation
解決的問題
Halide 旨在簡化高效能圖像與陣列處理程式碼的建立。它消除了為現代硬體架構進行手動優化的複雜性,讓開發人員能夠編寫可在各種平台上運行的高效程式碼。
工作原理
Halide 是一種嵌入式語言(可在 C++ 和 Python 中使用),而非獨立語言。開發人員使用 Halide API 來構建處理流水線的記憶體表示。此流水線可以被編譯為物件檔案(提前編譯,Ahead-of-Time compilation),或者在同一個進程中進行 JIT 編譯並執行。
適用對象
面向從事圖像與陣列處理工作的開發人員,這些開發人員需要在各種硬體(包括 CPU (X86, ARM, RISC-V 等) 和 GPU (CUDA, OpenCL, Metal, Vulkan 等))上實現高效能執行。
亮點
- 廣泛的硬體支援:針對大量的 CPU 架構與 GPU 計算 API。
- C++ 與 Python 綁定:提供對使用任一語言編寫流水線的全面支援。
- 靈活的編譯:支援 JIT 與 AOT 兩種編譯模式。
- 跨平台:相容於包括 Linux、Windows、macOS、Android 與 iOS 在內的多種作業系統。
相關
- 專案
- 專案
- 專案
- 專案
- 專案