Halide
19.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
MainPage.h
Go to the documentation of this file.
1
/** \file
2
* This file only exists to contain the front-page of the documentation
3
*/
4
5
/** \mainpage Halide
6
*
7
* Halide is a programming language designed to make it easier to
8
* write high-performance image processing code on modern
9
* machines. Its front end is embedded in C++. Compiler
10
* targets include x86/SSE, ARM v7/NEON, CUDA, Native Client,
11
* OpenCL, and Metal.
12
*
13
* You build a Halide program by writing C++ code using objects of
14
* type \ref Halide::Var, \ref Halide::Expr, and \ref Halide::Func,
15
* and then calling \ref Halide::Func::compile_to_file to generate an
16
* object file and header (good for deploying large routines), or
17
* calling \ref Halide::Func::realize to JIT-compile and run the
18
* pipeline immediately (good for testing small routines).
19
*
20
* To learn Halide, we recommend you start with the <a href=examples.html>tutorials</a>.
21
*
22
* You can also look in the test folder for many small examples that
23
* use Halide's various features, and in the apps folder for some
24
* larger examples that statically compile halide pipelines. In
25
* particular check out local_laplacian, bilateral_grid, and
26
* interpolate.
27
*
28
* If you are looking for a binary release, we suggest using pip to install
29
* either a <a href="https://pypi.org/project/halide">stable release</a> or
30
* a <a href="https://test.pypi.org/project/halide">nightly build</a> from
31
* Test PyPI.
32
*
33
* If you plan to build your program with CMake, you might be interested in
34
* documentation for <a href="https://github.com/halide/Halide/blob/main/doc/HalideCMakePackage.md">
35
* the Halide CMake helpers</a>.
36
*
37
* Below are links to the documentation for the important classes in Halide.
38
*
39
* For defining, scheduling, and evaluating basic pipelines:
40
*
41
* Halide::Func, Halide::Stage, Halide::Var
42
*
43
* Our image data type:
44
*
45
* Halide::Buffer
46
*
47
* For passing around and reusing halide expressions:
48
*
49
* Halide::Expr
50
*
51
* For representing scalar and image parameters to pipelines:
52
*
53
* Halide::Param, Halide::ImageParam
54
*
55
* For writing functions that reduce or scatter over some domain:
56
*
57
* Halide::RDom
58
*
59
* For writing and evaluating functions that return multiple values:
60
*
61
* Halide::Tuple, Halide::Realization
62
*
63
*/
64
65
/**
66
* \example tutorial/lesson_01_basics.cpp
67
* \example tutorial/lesson_02_input_image.cpp
68
* \example tutorial/lesson_03_debugging_1.cpp
69
* \example tutorial/lesson_04_debugging_2.cpp
70
* \example tutorial/lesson_05_scheduling_1.cpp
71
* \example tutorial/lesson_06_realizing_over_shifted_domains.cpp
72
* \example tutorial/lesson_07_multi_stage_pipelines.cpp
73
* \example tutorial/lesson_08_scheduling_2.cpp
74
* \example tutorial/lesson_09_update_definitions.cpp
75
* \example tutorial/lesson_10_aot_compilation_generate.cpp
76
* \example tutorial/lesson_10_aot_compilation_run.cpp
77
* \example tutorial/lesson_11_cross_compilation.cpp
78
* \example tutorial/lesson_12_using_the_gpu.cpp
79
* \example tutorial/lesson_13_tuples.cpp
80
* \example tutorial/lesson_14_types.cpp
81
* \example tutorial/lesson_15_generators.cpp
82
*/
src
MainPage.h
Generated by
1.12.0