Content deleted Content added
m better source and finish register source |
Citation bot (talk | contribs) Alter: title, template type. Add: chapter-url-access, chapter-url, chapter, authors 1-1. Removed or converted URL. Removed parameters. Some additions/deletions were parameter name changes. | Use this bot. Report bugs. | Suggested by Headbomb | #UCB_toolbar |
||
(5 intermediate revisions by 3 users not shown) | |||
Line 1:
{{Short description|Computer programming language designed for digital image processing}}
{{Infobox programming language
| name = Halide
Line 23 ⟶ 24:
| influenced =
}}
{{Portal|Free and open-source software}}
'''Halide''' is a computer [[programming language]] designed for writing [[digital image processing]] code that takes advantage of [[memory locality]], [[Array programming|vectorized computation]] and multi-core [[central processing unit]]s (CPU) and [[graphics processing unit]]s (GPU). Halide is implemented as an internal [[___domain-specific language]] (DSL) in [[C++]]. Halide was announced by MIT in 2012<ref>{{Cite web |last=Hardesty |first=Larry |date=2012-08-02 |title=Writing graphics software gets much easier |url=https://news.mit.edu/2012/better-programming-language-for-image-processing-0802 |access-date=2025-06-30 |website=MIT News {{!}} Massachusetts Institute of Technology |language=en}}</ref> and released in 2013.<ref>{{Cite
==
The main innovation Halide brings is the separation of the [[algorithm]] being implemented from its [[scheduling (computing)|execution schedule]], i.e. code specifying the [[loop (computing)|loop]] [[nesting (computing)|nesting]], [[parallelization]], [[loop unrolling]] and [[vector processor|vector instruction]].<ref>{{Cite journal |
==
The following function defines and sets the schedule for a 3×3 [[box blur|box filter]] defined as a series of two 3×1 passes, allowing the blur algorithm to remain independent of the execution schedule.<ref name=":1">{{Cite book |last1=Hennessy |first1=John L. |title=Computer architecture: a quantitative approach |last2=Patterson |first2=David A. |date=2019 |publisher=Morgan Kaufmann Publishers |isbn=978-0-12-811905-1 |edition=6th |___location=Cambridge, MA |pages=582}}</ref>
<syntaxhighlight lang="cpp">
Func blur_3x3(Func input) {
Line 48 ⟶ 50:
</syntaxhighlight>
==Uses and development==
Halide was developed primarily at MIT's CSAIL lab. Both Google
== See also ==
Line 61 ⟶ 63:
== External links ==
* {{Official website|halide-lang.org}}
* {{GitHub|halide/Halide}}
[[Category:Image processing]]
|