Automatically Scheduling Halide Image Processing Pipelines. Mullapudi et al. SIGGRAPH 2016
Why is it difficult to write good Halide schedules? Is it because people don't understand how to best exploit, say, locality?
@koala There aren't many universities around the world that offer as many computer science courses as CMU. Probably only the top CS schools like Stanford, Caltech, Berkeley, and MIT are the only ones that offer a similar course to this. Also, people decide to specialize in different areas of Computer Science, so in the end there are very few people left who either stay in Academia or get hired at a variety of companies like Nvidia and Intel. In addition, Parallel computing is a relatively new emerging topic, which was probably mainly jumpstarted by neural networks and other parallel computing problems. Kayvon is the reason why 418 became such a popular class at CMU. If each year 150+ students complete 418, gradually the number of people who will be able to write good Halide schedules will grow.
Parallel thinking is quite a drastic difference from single core programs that many programmers are used to. Same thing with functional programs.