|
|
|||
![]() PVS-Studio Static Code Analyzer for 64-bit and parallel C/C++ code
|
|||
![]() ![]() ![]() ![]() ![]()
28.06.2010
Why is the number of the line where an issue was found sometimes absent in the Error List in PVS-Studio? Sometimes the PVS-Studio code analyzer seems to find an issue in the code on which it generates a message, specifies the file name but does not show the number of the line with the issue as shown in the figure.»
07.06.2010
Communication between developers and users Abstract When developing software products, developers need very much to get feedback from users of their programs.» ![]()
22.07.2010
Using PVS-Studio with continuous integration systems This article illustrates techniques required to employ the use of PVS-Studio static code analyzer together with continuous integration systems.»
06.07.2010
Comparing capabilities of PVS-Studio and Visual Studio 2010 in detecting defects in 64-bit programs In the article, we will compare three mechanisms of code analysis from the viewpoint of detecting 64-bit errors: the Visual C++ 2010 compiler, the Code Analysis for C/C++ component included into Visual Studio 2010 and Viva64 analyzer included into PVS-Studio 3.60.»
29.06.2010
A Collection of Examples of 64-bit Errors in Real Programs
This article is the most complete collection of examples of 64-bit errors in the C and C++ languages.» ![]()
22.07.2010
We released a new version of PVS-Studio code analyzer - PVS-Studio 3.61»
10.06.2010
We released a new version of PVS-Studio code analyzer - PVS-Studio 3.60. »
19.05.2010
Our workers visited the GDC2010 conference that was held on May, 14-16, 2010, in Moscow and talked to many developers who participated there.»
|
Parallel Programming![]() What makes parallel programming hard? The author of the article with the same title answers this question proceeding from his programming experience and enumerates several factors in increasing order of difficulty. These are Finding the Parallelism, Avoiding the Bugs, Tuning Performance, Future Proofing and Using Modern Programming Methods. Resorting to logic explanations and lively examples the author gives a convincing proof of his viewpoint.
This paper with such a provocative title is discussing if there is sense in refusing OpenMP technology and if there is, how to 'kill' it by 2011. Written in a humorous way, the paper reveals the author's view upon the problem: OpenMP is still very popular and works quite well; so the only way to get rid of it is to let it vanish by itself when it stops meeting the growing complexity of computer technologies.
The paper touches upon the issues related to OpenMP programs. By a code example, the author explains what problems the programmer may encounter and how to use Intel Threading Tools (Intel Thread Checker and Intel Thread Profiler) to simplify threading of a project. You will also find some tips on how to handle load imbalance and synchronization impact. The article contains thorough code samples and screenshots and will be interesting to every developer working with OpenMP technology and multithreaded applications.
This paper discusses two technologies of thread programming in relation to multi-core technology – MPI and OpenMP. The author explains the differences between them, the underlying principle of each technology and compares performance results obtained in programs written with MPI and OpenMP. He also touches upon a hybrid approach to multi-core programming when both MPI and OpenMP are used. The paper is written very clearly and is supplied with illustrative schemes, screenshots and tables.
With threading technology rapidly developing, it is necessary that C++ standard provide adequate support for it too. The paper describes a meeting of C++ specialists devoted to discussing the issues of creating threading standards for the next version of C++. Such issues were covered as memory model to choose, thread synchronization, thread launching and joining and exception handling. The article touches upon the most important reports and proposals by some of the meeting's members.
This Wiki-based resource is a database presenting a collection of various defects and errors in the sphere of high performance computing gathered by developers through practice. All the defects are arranged in several groups (for example, related to synchronization, memory management, etc). Programmers and developers are encouraged to provide feedback and enlarge the base with their knowledge about such defects.
In his article, Herb Sutter discusses the problem of concurrency becoming the next approaching revolution for software development, its causes, consequences and costs. A major part of the paper is devoted to analyzing the current state in the computer industry and explaining why sequential applications cannot benefit from the throughput gains any more and must yield to concurrent (mainly multithreaded) software; and how to deal with this problem as well. The paper is written in a lively and ironical manner but provides a truly serious and thorough review of the coming changes. Sure, it will be interesting and helpful for every developer.
Using threads efficiently is a key to high performance and Herb Sutter dwells upon the problem of "up-leveling" this low-level tool of concurrency through isolation data and work of each thread. The paper discusses the techniques of improving the code with threads on the examples of three standard cases: GUI programs, sockets and pipelining. For each case there is a code sample and thorough explanation and guidelines on how to improve this code using special techniques.
The paper is meant to help developers and provide an overview of the popular parallelization methods for Intel C++ Compiler. The paper covers such techniques and methods as using OpenMP, Intel C++ Compiler simple language extensions, threading building blocks (TBB), Win32 threading APIs, threaded libraries, auto-parallelization and auto-vectorization, explains their working principles and tells about pros and cons of each method and gives tips on efficiently using them. There are many illustrative code samples and tables and a large table summarizing all the points discussed in the paper.
|
||
|
© 2008 - 2010, OOO "Program Verification Systems"
300027, Russia, Tula, P.O. Box 1800. Office: Russia, Tula, Kutuzova 100-73 |
|||