Use the Automated Roofline Chart to Make Optimization Decisions - C++ Sample
- What is the maximum achievable performance with your current hardware resources?
- Does your application work optimally on current hardware resources?
- If not, what are the best candidates for optimization?
- Is memory bandwidth or compute capacity limiting performance for each optimization candidate?
Add Efficient SIMD Parallelism to Code Using the Vectorization Advisor - C++ Sample
- Identify loops that will benefit most from vectorization.
- Identify what is blocking effective vectorization.
- Increase the confidence that vectorization is safe.
- Explore the benefit of alternative data reorganizations.
Find Where to Add Parallelism to Code Using the Threading Advisor - C++ Sample
- Survey the target executable to locate the loops and functions where your application spends the most time.
- In the target sources, addIntel Advisorannotations to mark possible parallel tasks and their enclosing parallel sites.
- Check Suitability to predict the maximum parallel performance speedup of the target based on these annotations.
- Check Dependencies to predict parallel data sharing problems in the target based on these annotations.
- If the predicted maximum speedup benefit is worth the effort to fix the predicted parallel data sharing problems, fix the problems.
- Recheck Suitability to see how your fixes impact the predicted maximum speedup.
- If the predicted maximum speedup benefit is still worth the effort to add parallelism to the target, replace the annotations with parallel framework code that enables parallel execution.
- Sample applications are non-deterministic.
- Sample applications are designed only to illustrate theIntel Advisorfeatures and do not represent best practices for creating and optimizing code.