Jim Radigan: Inside Auto-Vectorization, 1 of n
Download this episode
The VC++ 2012 auto-vectorizer tries to make loops in your code run faster by automatically vectorizing your code using the SSE instructions available in all current mainline Intel and AMD chips. In Visual C++ 2012, auto-vectorization is on by default and requires only that you write your code—that is, there are no compiler switches, #pragmas, or hints. It just works. Of course, it's one thing to say that, but how does it work, exactly? When does it vectorize and when doesn't it? Why?
Auto-vectorization is a powerful compiler feature. In VS 12 it represents outstanding engineering by a few folks on the Microsoft Visual C++ compiler team. The engineering leader of this team is Jim Radigan. Fortunately for us, Jim has agreed to do a series of C9 lectures digging into the nuts and bolts of automatic vectorization in general and specifically as it relates to the latest version of VC++. Thank you, Jim!
In the first part of this n-part series, Jim introduces the series, describes improvements to the VC++ 2012 compilers, shares, introduces auto-vectorization, demos a few apps that benefit from compiler-optimized performance via auto-vectorization, and begins to describe how/when user code is vectorized (typical and atypical patterns alike - more to come as the lectures progress, of course). Over the course of this series, Jim will present both the practical and theoretical foundations of auto-vectorization.
(You can learn more about auto-vectorization in VC++ by reading the blog posts by Jim Hogg, another member of the VC++ compiler team working on this technology.)
Tune in. Ask questions. Learn.
Available formats for this video:
Actual format may change based on video formats available and browser capability.
Comments have been closed since this content was published more than 30 days ago, but if you'd like to send us feedback you can Contact Us.