Skip to content

Introduce the basic of high-level image processing language Halide with English and 简体中文 https://blog.csdn.net/luzhanbo207/category_7314346.html

Notifications You must be signed in to change notification settings

Ewenwan/Halide_Tutorial

 
 

Repository files navigation

Halide_Turorial

This repository will introduce the basic of Halide -> (Algorithm + Scheduling)

Basic Functions

Tile Tile + Fuse + Parallel Vectorize (SIMD) Unroll Loop
Divide whole image into tiles Taling parallel x86 SSE command Reduce repeat calculation

Scheduling multi-stage pipelines

Stage 1:

producer(x, y) = sin(x * y)

Stage 2:

consumer(x, y) = (producer(x, y) + producer(x, y+1) + producer(x+1, y) + producer(x+1, y+1))/4

store_root.compute_at Tiling + compute_at
Store intermediate data in several scanlines Divide compute_at into tiles
compute_root compute_at
Compute all producer before use Compute producer inside y loop

About

Introduce the basic of high-level image processing language Halide with English and 简体中文 https://blog.csdn.net/luzhanbo207/category_7314346.html

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 100.0%