3 ms·
Speaking as someone writing a bunch of numerical code, while the fma and avx2 stuff is neat, that's not the part I find exciting. Those alone just naively give
by carterschonwald 13y ago
Speaking as someone writing a bunch of numerical code, while the fma and avx2 stuff is neat, that's not the part I find exciting. Those alone just naively give 2-4x boost
The main exciting part of avx2 is that I can have more of a matrix in registers at a time. Depending on the details of the matrix multiply algs etc, this reduces the volume of loads and stores by some neat factor.
Likewise the support for gathers is neat, and makes for better performance with some of the standard matrix layouts that fundamentally have bad strides access.
What I'm really excited about is the parallel bit deposits / extract operations. They're meant for making it easy to write arbitrary bit permutation functions in a small number of rounds, but potentially could be used to support fast indexing into some nonstandard linear algebra layouts that have substantially better memory locality. I'm talking layouts that easily compete with blas / atlas etc with a lot less engineering work.
I'm really excited to get my hands on some haswell hardware in the coming months to experiment thusly.
Context for me being that I'm writing tools in Haskell to generate and run numerical codes and I think some of the things Haswell enabled are quite swell.
There's also that htm concurrency machinery that'd be neat to mess around with too.