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 在内的多种操作系统。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目