Compilador C++ Intel®

Use VTune™ Amplifier XE 2015 to analyze MPI Hybrid code

Traditional OpenMP* is a fork-join parallel programming technology. First, program runs with a single master thread which is serial code, later, master thread assigns sub-tasks on created multiple threads where are in parallel region, master thread waits until all threads complete sub-tasks to meet at a barrier then be terminated, then master thread continue to run serial code again.

integer constant as template parameter problem

Compiling pcl-1.7.2 with intel c++ compiler Build 20150407 on Windows failed with errors related to Eigen-3.2.4.
I was able to reduce the problem to the following code snippet. It uses an integer constant as parameter of a template type. This type is used as the return type of a template classes member function. The intel c++ compiler reports a mismatch between declaration and definition of this member function. But Microsoft compiler, gcc and I agree, that there is no mismatch. Is this an intel c++ compiler problem?

Which parallelization library to use for realtime processing?

I'm developing a realtime audio processing software. There may be several (for example even 100) processors at each moment, in several parallel chains. I cannot let the processors cooperate and must assume any possible sequence of processing. Each of them receives a block of data usually 256-1024 values and needs to process them as quickly as possible, so that the results may be passed to the next item in chain. If the data is not delivered in time, bad things happen... But in many cases just a few processors may be used and the goal is to keep general CPU usage minimal then.

constexpr on standard math functions in gcc headers results in error: function call must have a constant value in a constant expression

Products: Intel® C++ Compiler

Versions: 15.0, 16.0

Operating Systems: Linux*

Software Defect ID: DPD200256916 


The Intel compiler has an incompatibility with gcc* in the area of constant evaluation of certain numeric expressions. 

For example, gcc 4.8.1 can compile this successfully, but the Intel compiler reports an error:

  • Linux*
  • C/C++
  • Compilador C++ Intel®
  • Ferramentas de desenvolvimento
  • Memory latency numbers


    I 've been working on a talk about cache effects. My main document is "What every programmer should know about memory". I've been working on small benchmark that shows the different level of caches : walking an array of objects in a linear/randomized order. The 3 levels of cache are quite obvious when walking in a randomized order, and I measure about one cache line every 300 clock cycles on a Xeon 2xxx once the program has to go to main memory.

    Compiler bug in XE 2015: error : no instance of function template "..." matches the argument list


    the following code:

    #include <tuple>
    struct Foo {
    	std::tuple<int> inner;
    	template <unsigned Idx>
    	auto get() const -> decltype(std::get<Idx>(inner)) { return std::get<Idx>(inner); }
    int main()
    	Foo f;

    produces the following error:

    debug symbol of binary appeare always w/o debug enable


    My ICC version intel_parallel_studio_xe_2015_update1, trial version.

    I used following command to compile, 

    icc  -w -fpermissive -fPIE -I. -DMKL_ILP64 -DLINUX  -std=c++11 -g0 -O3  -c xx.cpp -o /tmp/xx.o
    xiar rcs /tmp/xx.a /tmp/xx.o

    and use following command to link.

    Assine o Compilador C++ Intel®