Tachyon and Parallel Lint

Andrey Karpov
Articles: 366

OpenMP support in PVS-Studio had been dropped after version 5.20. If you have any questions, feel free to contact our support.

In the previous post "Cold Tachyon" we showed an alternative approach to detecting parallel errors with the static code analyzer PVS-Studio (VivaMP). The tool PVS-Studio (VivaMP) was compared to Intel Parallel Inspector. On this example, the both tools showed the same efficiency having diagnosed the errors in the code. Of course, this does not mean that the tools are interchangeable. Each of them has its own scope of use but on the example of Tachyon we found out that the both technologies (the static and dynamic analyses) have the same result.

It would be incorrect to forget that Intel Parallel Studio also includes a static code analyzer intended for detecting errors in parallel OpenMP programs. The analyzer is a subsystem of Intel C++ compiler and is called Parallel Lint.

We decided to make a separate post to discuss the analysis of Tachyon project with Parallel Lint in order not to overburden the reader with diverse information. The post must be of a medium size and show what warnings are generated by Intel Parallel Lint at various stages of modifying the parallel code of Tachyon project.

Unfortunately, Intel Parallel Lint analyzer did not manage to detect any error in Tachyon project. I.e. it did not generate any diagnostic warning concerning the function parallel_thread in the projects (trace.par1.cpp, trace.par2.cpp, trace.par3.cpp), showing various stages of parallelization. So, we have to wait for the next version of Intel Parallel Lint.

You may see the following materials to get acquainted with Parallel Lint:

Use PVS-Studio to search for bugs in C, C++, C# and Java

We offer you to check your project code with PVS-Studio. Just one bug found in the project will show you the benefits of the static code analysis methodology better than a dozen of the articles.

goto PVS-Studio;

Andrey Karpov
Articles: 366

Bugs Found

Checked Projects
Collected Errors
12 743