3 ms·
Memory access dominates performance issues, and memory access patterns are mostly pre-determined when a C developer chooses data structures. This limits the opt
by paulsutter 10y ago
Memory access dominates performance issues, and memory access patterns are mostly pre-determined when a C developer chooses data structures. This limits the optimizations a C optimizer can perform.
Halide gives the optimizer control over a broader set of design decisions. While the image-processing focus limits Halide (I wish it were designed for neural nets and embedded in Tensorflow), the lessons here are powerful and have potential that go beyond C compiler improvements.
- dharma1 10y agoYou could use Halide some neural net uses I guess - like writing convolution kernels? Though (I'm not an expert on the subject) but it seems like high perf convnet kernels requires assembly for specific architectures - like Scott Gray's fast Winograd kernels optimised for NVidia. Woukd be awesome if someone wrote fast conv kernels for AMD GPUs but it seems like a lot of effort