Intel® C++ Compiler

2016 64bit compiler issue

We have just switched over from Visual Studio 2013 with Intel 2015, to VS 2015 and Intel 2016. We've worked through several issues including ones related to Visual Studio 2015 Update 1.

Unfortunately there is one issue we cannot find a solution to, it only appears to occur if when building our 64bit configuration and only occurs when either built on our build machine as part of a build process or if we repeat the msbuild on one of our development machines.

Location of __assume affects performance

I am using an 8-th order finite difference time stepping function (for 2D acoustic wave equation) shown below.

I am observing substantial (up to 25%) performance increase from placing Intel's __assume statement inside the inner loop, compared to placing it at the beginning of the function body. (This happens regardless of number of OpenMP threads).

The code is compiled by Intel 2016-update1 compiler, Linux, with -O3 optimization option, and for AVX-capable architecture (Xeon E5-2695 v2). Compiler options I use: -std=c++11 -march=native -O3 -openmp

float to int conversion and autovectorization

I am trying to use Intel C++ Composer XE 2013 to autovectorize a loop.

My loop contains a number of float to int conversions that I need to do in round down (toward negative infinity) mode. My initial implementation used floor() in order to achieve this but this is slow and causes problems for vectorization. If I drop the floor() and use a simple cast then performance improves but presumably I no longer get round down behaviour for negative numbers? Is there a way to do a vectorized int to float conversion in round down mode whilst still relying on autovectorization?

Option Qcheck-pointers-mpx:rw breaks ICC 16.0 with error 010101_0


I'm trying to build Google Test library with ICC and option -Qcheck-pointers-mpx:rw . Compilation stops with an error:
": : error : 010101_0 [googletest\googletest\msvc\gtest.vcxproj]

There is a build script for VS2015 at github:

Software: Intel(R) Compiler 16.0 Update 1 (package 146), Visual Studio 2015 Update 1

Will you help me with this problem?

Yet another C++11 error (RTTI deactivated ?)


The minimalist code found here cannot be compiled with icpc version 16.0.1 (gcc version 5.0.0 compatibility)

$  icpc -std=c++11 function.cpp                                                                                                 
function.cpp(9): error: class "std::function<int (int, int)>" has no member "target"
      if (<std::plus<int>>())

Possible to install Parallel Studio 2011 and Parallel Studio XE 2016 on one PC

Hi staff,

I am using Parallel Studio 2011 and Visual Studio 2008. 

But I'd like to install more Parallel Studio XE 2016 and Visual Studio 2015.

First, I've installed Visual Studio 2015. Then, I continue to install Parallel Studio XE 2016 and get the message:

Standalone installation of Intel Parallel Studio XE 20xx

I think that was asked many-many times in the past but this time, after reading Intel Parallel Studio XE 2016 installation requirements, I'd like to address the problem again.

Could we have Standalone, that is without Microsoft Visual Studio but with some Platform SDK, installations of latest versions of Intel C++ compiler?

Intel C++ Compiler rejects presumably valid code with out-of-line template member function definition

Intel C++ Compiler (EDG-based frontend) rejects the following code:

template <typename Descriptor>
class hash_table
  typedef int value_type;

  template <typename Argument, int Callback (value_type *, Argument)>
  void traverse (Argument);

template <typename Descriptor>
template <typename Argument, int Callback (typename hash_table <Descriptor>::value_type *, Argument)>
void hash_table <Descriptor>::traverse (Argument) {}

with the following error message:

订阅 Intel® C++ Compiler