Compiler Methodology for Intel® MIC Architecture
Selective Use of gatherhint/scatterhint Instructions
Overview
The -mGLOB_default_function_attrs=”use_gather_scatter_hint=on” compiler option can be used to generate gatherhint/scatterhint instructions supported by the coprocessor. This is useful if your code is doing non-unit stride accesses and/or uses indirect addressing via pointers or index arrays.
Topics
Here is the compiler behavior related to gatherhint/scatterhint generation:
Behavior in the compiler:
1. By default compiler does not generate gatherhint and nop
2. When -mGLOB_default_function_attrs=”use_gather_scatter_hint=on” is specified, it generates gatherhint with a nop.
gatherhint
gatherhint
nop
gather
One can get the benefit of gather hints in current compilers using this option.
Take Aways
The gatherhint/scatterhint instructions are useful for codes with non-unit stride memory accesses, and codes using indirect addressing through pointers or index arrays.
NEXT STEPS
It is essential that you read this guide from start to finish using the built-in hyperlinks to guide you along a path to a successful port and tuning of your application(s) on Intel® Xeon Phi™Coprocessors. The paths provided in this guide reflect the steps necessary to get best possible application performance.
Back to Advanced MIC Optimizations chapter