File: todo.txt

package info (click to toggle)
halide 21.0.0-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 55,752 kB
  • sloc: cpp: 289,334; ansic: 22,751; python: 7,486; makefile: 4,299; sh: 2,508; java: 1,549; javascript: 282; pascal: 207; xml: 127; asm: 9
file content (25 lines) | stat: -rw-r--r-- 1,156 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
High priority:
- the device memory model (dirty flags, copy behavior)
- extern functions and extern stages, including scheduling their loops, extern sources and sinks. Also include bounds proxy exprs when exposed in the front-end.
- multi-output pipelines
- overriding the runtime
- cmake (JIT and AOT)

Nice to have:
- debug_to_file
- the bounds query interface
- lambdas
  useful tricks, e.g., `Buffer<float> image_buf = lambda(x, y, (sin(x+y)+1)/2).realize(10 * tile_size, 10 * tile_size);`
- common scheduling patterns
- scheduling rvars
- tail strategies
- wrapping existing memory in a Halide::Buffer
- scatter/gather intrinsics 
- prefetch
- compute_with
- RDom::where, including the pattern where we use r.x == 0, r.x == 1, r.x == 2 in the algorithm or where clause... then explicitly unrolling r.x to get an inner loop to do a sequence of things
- the debugging loop (point to existing video?)
- autodiff
- using "require" to add runtime checks
- common parallel algorithms (e.g. parallel sum-scan, parallel reductions using atomic vectorize, atomic scatters)
- passing complex parameters into Halide, including single structs, arrays of structs.