[FoRK] parallelism Re: Welcome to the era of radical innovation

Dr. Ernest Prabhakar drernie at radicalcentrism.org
Mon Jan 13 14:29:19 PST 2014

Hi Andrew,

On Jan 9, 2014, at 10:12 AM, J. Andrew Rogers <andrew at jarbox.org> wrote:

> No need, current architectures do expose the complex execution parallelism but you can choose to ignore it.
> Non-trivial parallel algorithms are either latency-aware or schedule-aware. In the former, every detail of the execution environment is implicitly encoded in the algorithm, which is knowledge you almost never have in real software. In the latter, the algorithm dynamically “bends" to fit the apparent execution environment like water filling a complex container, which leads to considerably more complex algorithm implementations than most software engineers are used to reasoning about. 

I *almost* understood you.  Could you go into a bit more detail about the difference between latency-aware and schedule-aware?

And where do tools like Halide fit into your taxonomy?

Decoupling Algorithms from Schedules for Easy Optimization of Image Processing Pipelines

— Ernie P.

More information about the FoRK mailing list