Intel® C++ Compiler

struggling to vectorize code

Hey everyone, 


I'm looking for help about loop vectorization. I'm trying to vectorize and optimize some loop but I don't understand what I'm doing wrong. The compiler can not vectorize because of FLOW and ANTI dependency. I thought I could remove it by doing a change in the code cf. "my attempt code" but this is not working. Can someone explain me why ?

Compilation errors on standard header files in libc++

MacOS 10.10.3, Xcode 6.3.2, Intel Composer 2015 sp 3. Compiling against 10.10 (or 10.9) SDK, including any standard header (such as <algorithm>) that eventually includes cpp_type_traits.h or allocator.h, I get the errors below if the C++ standard library is set to libc++. The errors go away if I use libstdc++:

cpp_type_traits (from OS X 10.10/usr/include/c++/4.2.1/bits/cpp_type_traits.h)


line 379:  // For the immediate use, the following is a good approximation.

template<typename _Tp>

使用Edison SDK + chroot 创建高性能应用


英特尔® Edison 是一款功能强大的物联网平台,内置有双核 500MHz 凌动处理器。 部署英特尔软件技术有利于释放该平台更多的潜能。 下图所示为基于 Edison 的对比测 试,测试结果明确表明,使用英特尔优化的通用库和编译器软件技术可带来显著的性能优 势。 是不是迫不及待想在自己的 Edison 上尝试? 请查看,并遵循本文的 下列步骤。


  • Desarrolladores
  • Linux*
  • Proyecto Yocto
  • Internet de las cosas
  • C/C++
  • Intermedio
  • Intel® System Studio
  • Intel® C++ Compiler
  • Intel® Integrated Performance Primitives
  • IPP
  • TPP
  • icc
  • opencv
  • ISS
  • intel compiler
  • facedetection
  • performance
  • Procesadores Intel® Atom™
  • Internet de las cosas
  • Código abierto
  • Optimización
  • valid c++ variadic code causes segfault with icc

    This code compiles fine with gcc and clang, but causes a segfault with icc 2016 (used -std=c++14)


    #include <tuple>
    #include <type_traits>
    #include <utility>
    template<class... Tx>
    void f(const std::tuple<Tx...>& t,
      std::enable_if_t<Tx() || true, int>... indexes) {
    int main() {
      auto t = std::make_tuple(3, 4.0);
      f(t, 1 ,2);
      return 0;


    icpc not generating AVX/AVX2 instructions

    I compile the following C function


    void multIJK(double *restrict a, double *restrict b, double *restrict c, 
    	     int dim){
      for(int i=0; i < dim; i++)
        for(int j=0; j < dim; j++)
          for(int k=0; k < dim; k++)
    	c[i+j*dim] += a[i+k*dim]*b[k+j*dim];

    using the following options:

    icpc  -O3 -prec-div -no-ftz -restrict -Wshadow -MMD -MP -fno-inline-functions -mkl -fno-verbose-asm  -S xchg-mult.cpp

    Composer 2015 update 4 installer hiccups

    I installed Update 4 from a couple of days ago this morning.  It removes all the old Update 3 components, but doesn't install any of the new ones.  You have to run the installer again to get the new redists and so on.  This is on Windows 8.1 Pro 64.  Not a big problem but I thought you should know.


    Compilations fails but produces valid obj


    I have a part of a big project that involve lot's of forceinlining that use to compile perfectly with Intel 13.1 and Intel 14.0.

    Since Intel C++ 15.0 I have this message:

      remark #11074: Inlining inhibited by limit max-size
      remark #11074: Inlining inhibited by limit max-total-size
      remark #11075: To get full report use -Qopt-report:4 -Qopt-report-phase ipo

    Which I don't mind, the compiler is right, at some point I will have to remove some useless forceinline to reduce compile time, so I am fine with it.

    Suscribirse a Intel® C++ Compiler