Modern processors are making threading and vectorization crucial because you simply cannot fully exploit a modern processor without it. There are cases where unvectorized and unthreaded code has been threaded and vectorized and has immediately become 187 times faster as a result. Threading and vectorizing can be time consuming, which makes it expensive. Before you commit what could be massive amounts of money to threading and vectorizing, allow Intel® Advisor 2017 software to forecast the performance gain from implementation.
Prototype, Prioritize, and Predict the Performance Gain
If your code is vectorized but not threaded, or is threaded but not vectorized, then vectorizing or threading (whichever applies) may still make your code up to seven times faster. Vectorized plus threaded code can be significantly faster than either one alone. Intel Advisor 2017 is not a green light or red light program. It doesn't simply indicate if you should or shouldn't implement; it gives you a detailed analysis with potentially hundreds of options. You can pick and choose what you should and shouldn't optimize based on your return on investment. The tool allows you to see if the threading performance will scale up if there are more cores, and you may see if a loop has a dependency that restricts vectorization. You may even see if you are optimizing with the older SIMD instructions or with the latest AVX2 instructions.
Fantastic Usability for Programmers, Complex for Non-Technical Audience
The user interface presents data in a way that first allows you to see a brief overview, and then allows you to navigate forwards to see a more advanced analysis of your code. The brief overviews are highly esoteric?to the point where only programmers will understand the true meaning of each report. But it also has visual indicators that may allow programmers to explain the analysis to lay persons, managers, investors and so forth. For example, the function sell sites and loops section has "Self-Time" and "Efficiency" sections that feature bar graphics and percentages. Even a layperson may understand the implications of bar graphics and percentages that state how quick something is and how efficient it is.
The tool has a fantastic level of usability because the software does almost all the work for you, so all you have to do is read and understand the analysis results it produces. You have to admire both the usability of the software and the fact that using it results in fewer bugs. For example, by delaying implementation, your code will remain serial while you design, so that you may release whenever you wish without worrying about threading bugs.
Bottom Line: Potential to Save Programmers Thousands upon Thousands
Prototyping is so fast that you can explore a number of different threading designs before you invest time and money into implementing them. Also, as with most prototyping tools, it has the by-product benefit of helping reduce the number of bugs. Intel Advisor 2017 is a prototyping tool, but it is so much more. It is also an investment in saving. The software is highly advanced, and as a consequence, it is rather expensive. However, the hundreds you spend on this software may save you thousands in wasted programming hours. The analysis functions are so in-depth and accurate that you may sensibly weigh up the benefits of implementation with the cost of implementing, which enables you to make informed business (investment) decisions.