On modern processors, it is becoming crucial to both vectorize (use AVX* or SIMD* instructions) and thread software to realize the full performance potential of the processor. In some cases, code that is vectorized and threaded can be up to 187X faster than unthreaded/unvectorized code―and about 7X faster than code that is only threaded or vectorized. And that gap is growing with every new processor generation.
Threaded plus vectorized can be much faster than either one alone. The gap is growing with each new hardware generation. Details.
Intel® Advisor gives you data to forecast the performance gain before you invest significant effort in implementation. Implement only the options that have a high return on investment.
Data-Driven Vectorization Optimization and Threading Design
You need good data to make good design decisions. What loops should be threaded and vectorized first? Is the performance gain worth the effort? Will the threading performance scale on larger core counts? Does this loop have a dependency that prevents vectorization? What are the trip counts and memory access patterns? Have I vectorized efficiently with the latest AVX2? Or am I using older SIMD instructions?
Vectorization Optimization: Guidance to Speed up your Application
Quickly find what’s blocking vectorization in the locations that matter the most. Intel Advisor sorts your loops by potential gain, makes compiler reports easier to read by showing messages on your source, and gives you tips for effective vectorization. It also provides key data like trip counts, data dependencies, and memory access patterns to let you vectorize safely and efficiently.
- Optimize for Intel® Xeon Phi™ processors and AVX-512 with or without access to AVX-512 hardware.
- Accurate, repeatable FLOPs calculation adjusted for masking with AVX-512 processors.
- Measure the memory footprint to see if your loop fits in cache.
- Easily select high-impact loops with smart mode.
- Batch workflow starts multiple analyses with a single click.
- Detect unneeded gather/scatters that reduce performance.
Fast prototyping lets you explore several alternative threading designs and pick the best one before investing in an implementation. Intel Advisor has a simple workflow that gets you the data and tips you need to make design and optimization decisions faster. Add threading to C, C++, C#, and Fortran* code. Quickly model and compare the performance scaling of different parallel designs without the cost and disruption of implementation. Delayed implementation means your code remains serial during the design phase, so you can release at any time without worrying about threading bugs. Find and eliminate data sharing issues during design―when they’re less expensive to fix. Model the performance impact of adding synchronization and project the scaling on systems with larger core counts.
One Year of Confidential Product Support and Updates Included
Every paid version of Intel’s software products automatically gives you access to Intel® Premier Support for at least a year from the date of purchase. And you can extend it at a reduced rate.
- Free access to all new product updates and continued access to―and support for―older versions of the product.
- The ability to interact directly and privately with Intel’s product engineers by submitting confidential inquiries and code samples.
- Responsiveness to your product needs (both older and newer versions) and technical questions, a key reason for developer satisfaction.
- Community product forums covering all of Intel’s software development products.
- Access to a vast library of self-help documents that build off of the decades of experience Intel’s developer community has in using our software products.
Specs at a Glance
|Processors||Intel® processors, coprocessors, and compatibles|
|Languages||C, C++, Fortran: Vectorization and threading |
|Compilers||Works with compilers from Microsoft, GCC, Intel, and others that follow standards. Some features work better with the Intel compiler (e.g., better vectorization advice).|
|Development Environments||Integrated with Microsoft Visual Studio* or runs standalone|
|Operating Systems||Windows*, Linux*|
|Additional Details||See the documentation and release notes.|