Intel® C++ Compiler

How to get the Intel C/C++ Linux 12.0.4 compiler

I could use some assistance in figuring out how to purchase the Intel C/C++ Linux 12.0.4 compiler, which is no longer a current version. This is a requirement of some 3rd party software, not my choice.

The last version we bought was the 10.1 version (we have .012 and .021) from 2009'ish, so it's been a long time since we've had to upgrade.  It looks like the currently available version is "Intel® C++ Composer XE 2013" (which appears to be 13.x, except I also see a "XE 2013 SP1" which is 14.x)

Benchmark problem: ICC compiler option '-xHost' slows down execution speed

While preparing two benchmarks on a 4-socket/60-core Xeon server (E7-4890v2, HyperThreading and TurboBoost enabled; RHEL 7, Transparent Huge Pages activated), cf. topic 515900, I have observed that combining the optimization options '-O2 -ansi-alias' with '-xHost' (ICC 14.0.2) for the OpenMP parallelized "Benchmark B" increases the execution time:

 

==  'icpc -ansi-alias -O2 -xHost' ...  ====================================

----   60 threads  --------------------------------------------------------

ICC vs. GCC: Strange scaling behavior of an OpenMP parallelized benchmark

I am currently preparing two benchmarks of a new 240-core E7-x890v2 server. On a 60-core test machine (four sockets with E7-4890v2, HyperThreading and TurboBoost enabled; RHEL 7, Transparent Huge Pages activated) I get the following timings for "Benchmark A" with ICC v14.0.2 and GCC v4.8.2:

 

==  60 cores  ===============================================================

----  GCC executable  -------------------------------------------------------

        Finished in 187.65 second(s) CPU time, 3.144 second(s) WALL time.

Missed optimization opportunity

Hey all,

I just noticed a missed performance opportunity:

#include <cmath>
int main()
{
  const double C[2] = { 1., 0. };
  double v = C[1]  * cos(.42 * argc);
  return v;
}

This will call cos even though the result will always be 0. Now compare this to this code:

#include <cmath>
int main()
{
  double v = 0. * cos(.42 * argc);
  return v;
}

Here, the call to cos is properly optimized away. This is what I'd expect from the first code as well.

How to use Intel Cilk Plus extension, to speed up your Android application with threading features

Intel Cilk Plus is an important language extension of Intel Compiler, to help you implement multiple-threading easily and fast, to improve your application's performance on multi-core systems. While more and more cores on Android devices, it is also more important to efficiently use the multi-core features.
  • Developers
  • Professors
  • Students
  • Android*
  • Android*
  • C/C++
  • Intermediate
  • Intel® INDE
  • Intel® C++ Compiler
  • Intel® Parallel Studio XE
  • Intel® System Studio
  • VersionSpecific
  • PlatformSpecific
  • Development Tools
  • License Agreement: 

    How to tell icpc to use a different GCC toolchain?

    Hello,

    as a follow-up to my issues with using ICC with GCC 4.9, I now compiled GCC 4.8. How do I now tell ICC to use that? I've tried the -cxxlib=/path/to/gcc-48 switch. But what does it really expect the path to contain? Apparently a bin/g++, OK. But now I get this:

    icpc: error #10001: could not find directory in which the set of libstdc++ include files resides

    What does this mean? The last lines of output from a strace -f run is pasted below. Note how it finds e.g. /usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/include but then tries to access /usr/include/g++ - why?

    TBB example compiled with gcc run faster than icc

    Hi all,

    I'm learning TBB, according to TBB's getting started guide, I compile the TBB example in /opt/intel/tbb/examples/GettingStarted/sub_string_finder

    compile with icc -O2 -DNDEBUG  -o sub_string_finder_extended sub_string_finder_extended.cpp -ltbb -lrt:

    ./sub_string_finder_extended

     Done building string.

     Done with serial version.

     Done with parallel version.

     Done validating results.

    Serial version ran in 4.51256 seconds

    Parallel version ran in 1.27341 seconds

    Subscribe to Intel® C++ Compiler