To get a trial key
fill out the form below
Team License (a basic version)
Enterprise License (extended version)
* By clicking this button you agree to our Privacy Policy statement

Request our prices
New License
License Renewal
--Select currency--
USD
EUR
GBP
RUB
* By clicking this button you agree to our Privacy Policy statement

Free PVS-Studio license for Microsoft MVP specialists
* By clicking this button you agree to our Privacy Policy statement

To get the licence for your open-source project, please fill out this form
* By clicking this button you agree to our Privacy Policy statement

I am interested to try it on the platforms:
* By clicking this button you agree to our Privacy Policy statement

Message submitted.

Your message has been sent. We will email you at


If you haven't received our response, please do the following:
check your Spam/Junk folder and click the "Not Spam" button for our message.
This way, you won't miss messages from our team in the future.

>
>
Feeling the new Intel Parallel Studio X…

Feeling the new Intel Parallel Studio XE 2011 beta

Sep 02 2010
Author:

So I've gotten to try the C++ compiler included into Intel Parallel Studio XE 2011 beta at last. Here is a brief report of my experiments.

You may download and try the new version of Parallel Studio here: Intel Parallel Studio XE 2011 for Windows* Beta Registration. The license for the beta-version is provided for several months, so you've got enough time to experiment with the tool. The size of the distribution package (for IA-32/Intel 64 - 1 GB) is a bit surprising but I think it won't be a problem to download it at present.

I and my colleagues in Intel Parallel Studio were interested in one single question all in all - the build of PVS-Studio. We wanted to see if we would get a performance gain and how great it would be.

I am not interested in abstract small demo programs where some mathematical matter is quickly calculated. This is too far from reality. But here we've got our own absolutely real project whose job is to work with graphs (a parse tree).

The PVS-Studio analyzer has configurations for builds under Win32 and Win64. Of course we were interested first of all in the 64-bit version but unfortunately something went wrong with it. We use Boost which we did not manage to build for Win64. Perhaps we did something wrong and have clumsy hands. But it seems that the reason lay in the compiler's defect that resulted in printing the following message on many files:

c:\boost_1_44_0\libs\iostreams\src\file_descriptor.cpp(294) 
(col. 1): internal error: 0_1374
compilation aborted for libs\iostreams\src\file_descriptor.cpp 
(code 4)

We did not encounter any issues with other configurations of the Boost library:

0077_Intel_Parallel_Studio_XE_beta/image1.png

As you may see, the Debug version is successfully built both in the 32-bit and 64-bit modes. Unfortunately, we are not interested in Debug-versions, so we had to confine ourselves to comparing Release Win32 and Release Win64.

Another small accompanying unpleasant thing was that Intel C++ still cannot support "nullptr" that has appeared in C++0x. So we had to insert the following code into stdafx.h:

#ifdef __INTEL_COMPILER
  #define nullptr 0
#endif

And now the most interesting thing - measuring the speed of internal tests. Simple recompilation of the project does not give anything and even causes slow-down of its work:

0077_Intel_Parallel_Studio_XE_beta/image2.png

But using the switches /Qipo "Multifile interprocedural optimization" and /GA "Optimize for Windows Applications" gives a significant performance gain:

0077_Intel_Parallel_Studio_XE_beta/image3.png

However, the option /Qparallel (Tells the auto-parallelizer to generate multithreaded code for loops that can be safely executed in parallel) did not influence the work in any appreciable way. Well, perhaps we "simply cannot cook them" and, shame on us, we were not interested in continuing the experiment. It was not interesting for us because more detailed experiments with optimization capabilities are relevant for us only when dealing with a 64-bit version. We hope that the release-version of Intel Parallel Studio will be stabler and we will be able to continue then. However, it is already evident that we can get a significant benefit from changing the compiler. So I recommend you to try it.

Popular related articles
The Evil within the Comparison Functions

Date: May 19 2017

Author: Andrey Karpov

Perhaps, readers remember my article titled "Last line effect". It describes a pattern I've once noticed: in most cases programmers make an error in the last line of similar text blocks. Now I want t…
The way static analyzers fight against false positives, and why they do it

Date: Mar 20 2017

Author: Andrey Karpov

In my previous article I wrote that I don't like the approach of evaluating the efficiency of static analyzers with the help of synthetic tests. In that article, I give the example of a code fragment…
The Last Line Effect

Date: May 31 2014

Author: Andrey Karpov

I have studied many errors caused by the use of the Copy-Paste method, and can assure you that programmers most often tend to make mistakes in the last fragment of a homogeneous code block. I have ne…
Free PVS-Studio for those who develops open source projects

Date: Dec 22 2018

Author: Andrey Karpov

On the New 2019 year's eve, a PVS-Studio team decided to make a nice gift for all contributors of open-source projects hosted on GitHub, GitLab or Bitbucket. They are given free usage of PVS-Studio s…
Technologies used in the PVS-Studio code analyzer for finding bugs and potential vulnerabilities

Date: Nov 21 2018

Author: Andrey Karpov

A brief description of technologies used in the PVS-Studio tool, which let us effectively detect a large number of error patterns and potential vulnerabilities. The article describes the implementati…
PVS-Studio ROI

Date: Jan 30 2019

Author: Andrey Karpov

Occasionally, we're asked a question, what monetary value the company will receive from using PVS-Studio. We decided to draw up a response in the form of an article and provide tables, which will sho…
Appreciate Static Code Analysis!

Date: Oct 16 2017

Author: Andrey Karpov

I am really astonished by the capabilities of static code analysis even though I am one of the developers of PVS-Studio analyzer myself. The tool surprised me the other day as it turned out to be sma…
The Ultimate Question of Programming, Refactoring, and Everything

Date: Apr 14 2016

Author: Andrey Karpov

Yes, you've guessed correctly - the answer is "42". In this article you will find 42 recommendations about coding in C++ that can help a programmer avoid a lot of errors, save time and effort. The au…
How PVS-Studio Proved to Be More Attentive Than Three and a Half Programmers

Date: Oct 22 2018

Author: Andrey Karpov

Just like other static analyzers, PVS-Studio often produces false positives. What you are about to read is a short story where I'll tell you how PVS-Studio proved, just one more time, to be more atte…
PVS-Studio for Java

Date: Jan 17 2019

Author: Andrey Karpov

In the seventh version of the PVS-Studio static analyzer, we added support of the Java language. It's time for a brief story of how we've started making support of the Java language, how far we've co…

Comments (0)

Next comments
This website uses cookies and other technology to provide you a more personalized experience. By continuing the view of our web-pages you accept the terms of using these files. If you don't want your personal data to be processed, please, leave this site.
Learn More →
Accept