Skip to content
0:00 / 0:00

#halide#imageprocessing#parallelism

Halide Talk

Andrew Adams

322 subscribers • 1 video on Hallway

YouTube
  • Recommended by 6 people: 5 on Hacker News and 1 on Lobsters.
  • A classic. People kept recommending it from 2014 to 2021.
  • Presented by Andrew Adams

Intermediate. Assumes working knowledge.

52K views12 years ago6 recommendations

Systems programmingGraphics and audioCompilers and interpretersPerformance and optimizationRendering

Andrew Adams presents Halide, a domain-specific language that decouples image processing algorithms from their execution schedules for high performance.

This is a talk about the programming language Halide. See halide-lang.org for more details.

Why it's here

6 people recommend this

What people say. Recommended for its clear explanation of separating algorithm from schedule to optimize image processing pipelines.

modelesson Hacker News • Recommends

On “Speed memory access by arranging data to take advantage of CPU caching”

You can see it a little bit in the blur example on the front page: the blur algorithm is described in two lines and the optimizations are described separately in the "schedule" below. In this case the schedule specifies that intermediate results should be computed in tiles of a certain size, and the whole thing is both vectorized and parallelized. The best way to understand it is probably to watch the video, which is relatively long but explains things clearly: link to this video

whos3424on Hacker News • Recommends

On “How to write efficient matrix multiplication”

please look at link and especially link to this video they seem to open new ground in the area you are prusuing edit: if you know any other groups/ppl who practice a similar approach send them my way anyhow, it seems like the hand written assembly vs compiled code goes in to a new skirmish the age where the whole spectrum from generalcpu > asic becomes available to programmers all around bottle necks of parallelism, locality and redundancy seems to be the guiding lights hand written we'll be probably lead by the magnificent link compiler generated by halide and the like and once we got the ball rolling and more public knowledge is available probably the locked down techniques of the major supercomp…

tehsauceon Hacker News • Recommends

On “How to write efficient matrix multiplication”

A really nice video with animations of various scheduling approaches for these types of linear algebra algorithms: link to this video

all2on Hacker News • Recommends

On “Halide: a language for fast, portable computation on images and tensors”

link to this video Here is a relevant video from the creator. It has some fun illustrations to help with what its going on. /edit - letters

T-Ron Hacker News • Recommends

On “Apache Arrow 4.0”

…r some operations it can also save you from loading whole columns that aren't relevant for your transformation. The compression point in the sibling comment is definitely also relevant, especially for serialization. A whole lot of reasons to use column vectors. Using "column-major" here might've been terminology abuse; sorry for the confusion. 0 link to this video…

robewaldon Lobsters • Recommends

Fast image processing using Halide

paulsutteron Hacker News • Mentions

On “Fast Fourier transform in x86 assembly”

…x, 8); Halide can auto-optimize to create schedules for specific architectures, which can match or exceed performance of C code written by experts. It's intended for image processing, and has an unnatural affinity for rectangles, but it's an interesting direction for optimization. Darkroom does similar optimization for FPGAs Website: link Video: link to this video Paper: link…

Groxxon Hacker News • Mentions

On “Go 2, here we come”

Halide! That's the one I was thinking of: link to this video I'd love to find out if this could be a more generally-applicable technique, but it's fascinating regardless.