Quantcast
Channel: Intel® C++ Compiler
Viewing all articles
Browse latest Browse all 1616

Overview of Vectorization Reports and new vec-report6

$
0
0
Overview of vectorization report

Compiler Methodology for Intel® MIC Architecture

Vectorization Essentials, Vectorization and Optimization Reports, Overview of vectorization reports and new vec-report6

Existing –vec-report levels (0 to 5) controls emission of the following vectorization report messages:

  1. Success: “LOOP WAS VECTORIZED”
  2. Unsucessful: “loop was not vectorized: << few words of reason >>”
  3. Reason, dependence information: “dependence from xx to yy”

The least verbose is –vec-report0 (default) which emits no messages. The most verbose is –vec-report3 which emits all 3 kinds of messages.

The version 13.0 compiler implementation added one new level of report or category. Recently added level –vec-report6 emits all 3 kinds similar to vec-report3, plus adding greater detail from the vectorizer.  REVIEW THE -vec-report COMPILER OPTION

For example, under –vec-report3, an example output message might be “loop was not vectorized: unsupported data type”. With –vec-report6, it’ll be followed by “vectorization support: type TTT is not supported for operation OOO”. The customer can then attempt to change the data type and/or the operator.

A few sample messages. These are informational in nature, to help the programmer understand vector code behavior and/or failed vectorization attempt.

foo0.c(8): (col. 12) remark:loop was not vectorized: statement cannot be vectorized.

foo0.c(8): (col. 12) remark: vectorization support: call to function bar cannot be vectorized.

foo1.c(8): (col. 3) remark: LOOP WAS VECTORIZED
foo1.c(8): (col. 3) remark: vectorization support: unroll factor set to 4. vectorization support: unaligned access used inside loop body

vectorization support: call to function %s cannot be vectorized
vectorization support: call to function %s cannot be vectorized with given fp model
vectorization support: assignment cannot be vectorized for variable <<variable_name>>
vectorization support: unsupported reduction <<operator>>
vectorization support: vectorization of single precision division of product and converted double precision is not safe
vectorization support: scalar type occupies entire vector
vectorization support: reference %s has aligned access
vectorization support: reference %s has unaligned access
vectorization support: vectorization of this loop under -Os has impact on code size
vectorization support: %s
vectorization support: unroll factor set to %s
vectorization support: type long long is not supported as indices on given target architecture
vectorization support: type char is not supported for operation %s
vectorization support: type short is not supported for operation %s
vectorization support: type int is not supported for operation %s
vectorization support: type long long is not supported for operation %s
vectorization support: type float is not supported for operation %s
vectorization support: type double is not supported for operation %s
vectorization support: type complex float is not supported for operation %s
vectorization support: type complex double is not supported for operation %s
vectorization support: unaligned %s will be scalarized
vectorization support: conversion from int to float will be emulated
vectorization support: conversion from float to int will be emulated
vectorization support: streaming store was generated for %s

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™ coprocessor. The paths provided in this guide reflect the steps necessary to get best possible application performance.

Back to Vectorization and Optimization Reports

  • Desarrolladores
  • Linux*
  • C/C++
  • Fortran
  • Principiante
  • Intermedio
  • Intel® C++ Compiler
  • Intel® C++ Composer XE
  • Intel® Composer XE
  • Intel® Fortran Compiler
  • Intel® Fortran Composer XE
  • Intel® Visual Fortran Composer XE
  • Herramientas de desarrollo
  • Arquitectura Intel® para muchos núcleos integrados
  • Vectorización
  • Dirección URL

  • Viewing all articles
    Browse latest Browse all 1616

    Trending Articles



    <script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>