本文主要是介绍Halide 构建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
hello halide
随着人工智能,VR等领域的发展,我们对于高性能图像处理程序的需求越来越大;当前编程工具开发的高性能图像处理程序牺牲了程序的可读性,模块性,可移植性等;其主要原因是,当前程序将算法描述, 数据存储以及计算糅杂在一起。同时手工编写高性能图像处理程序开发效率较低,难以快速构建大量高性能图像处理代码。
在这样的背景下,MIT的研究人员专门为图像处理设计了一种程序语言——Halide;Halide语言易于编写和修改,并且能够自动对代码进行优化,使应用程序获得更好的执行效率。Halide设计的核心思想是将算法的内容和算法的执行解耦,这样程序员可以根据不同的设备设置不同的优化策略,获得更高质量的代码。目前halide支持的设备情况为:
CPU架构:X86, ARM, MIPS, Hexagon, PowerPC
操作系统:Linux, Windows, Mac OS X, Android, iOS, Qualcomm QuRT
GPU计算API:CUDA, OpenCL, OpenGL, OpenGL Compute Shaders, Apple Metal, Microsoft Direct X 12
当前知名的自动优化框架,除了halide还有寒武纪的TVM,TVM在设计上借鉴了halide将算法内容和执行解耦的思路。本文主要主要内容如下:
- LLVM安装
- Halide编译
- Halide程序构建
LLVM安装
首先下载LLVM源代码,源代码下载地址为:
这篇关于Halide 构建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!