36047409
A Comparison of Scalable Labeling Schemes for Detecting Races in OpenMP Programs
Detecting races is important for debugging shared-memory parallel programs, because the races result in unintended nondeterministic executions of the program. On-the-fly technique to detect races uses a scalable labeling scheme which generates concurrency information of parallel threads without any globally-shared data structure. Two efficient schemes of scalable labeling, BD Labeling and NR Labeling, show the similar complexities in space and time, but their actual efficiencies have been compared empirically in no literature to the best of our knowledge. In this paper, we empirically compare these two labeling schemes by monitoring a set of OpenMP kernel programs with nested parallelism. The empirical results show that NR Labeling is more efficient than BD Labeling by at least 1.5 times in generating the thread labels, and by at least 3.5 times in using the labels to detect races in the kernel programs.
11137227
Detecting Unaffected Message Races in Parallel Programs
Detecting unaffected race conditions is important to debugging message-passing programs effectively, because such a message race can affect other races to occur or not. Unfortunately, the previous technique to efficiently detect unaffected races does not guarantee that all of the detected races are unaffected. This paper presents a novel technique that manages the states of the detected races by examining if every received message is affected until the execution terminates. Our technique guarantees to efficiently detect unaffected races, because it maintains affects-relations of the races all along the execution of program.
31974930
MPIRace-Check: Detection of Message Races in MPI Programs
Message races, which can cause nondeterministic executions of a parallel program, should be detected for debugging because nondeterminism makes debugging parallel programs a difficult task. Even though there are some tools to detect message races in MPI programs, they do not provide practical information to locate and debug message races in MPI programs. In this paper, we present an on-the-fly detection tool, which is MPIRace-Check, for debugging MPI programs written in C language. MPIRace-Check detects and reports all race conditions in all processes by checking the concurrency of the communication between processes. Also it reports the message races with some practical information such as the line number of a source code, the processes number, and the channel information which are involved in the races. By providing those information, it lets programmers distinguish of unintended races among the reported races, and lets the programmers know directly where the races occur in a huge source code. In the experiment we will show that MPIRace-Check detects the races using some testing programs as well as the tool is efficient.
206588088
A Practical Tool for Detecting Races in OpenMP Programs
Detecting data races or just races is important for debugging OpenMP programs, because races result in unintended nondeterministic executions of the program. The previous tool to detect the races in OpenMP programs monitors a serial execution of the program, but unfortunately cannot guarantee to verify the existence of races even in the programs only with the directives. This paper presents a practical tool which monitors a parallel execution of standard OpenMP program, and not only verifies the existence of races but also detects first races for each shared variable in the programs.
11262890
Locating the Optic Disc in Retinal Images
We present a method to automatically outline the optic disc in a retinal image. Our method for finding the optic disc is based on the properties of the optic disc using simple image processing algorithms which include thresholding, detection of object roundness and circle detection by Hough transformation. Our method is able to recognize the retinal images with general properties and the retinal images with variance of unusual properties since the parameters of our method can be flexibly changed by the unusual properties
17666312
Example-based motion cloning
In this paper, we pose a motion cloning problem of retargeting the motion of a source character to a target character with a different structure. Based on scattered data interpolation, an example-based approach to motion cloning is proposed. Provided with a set of example motions, our method automatically extracts a small number of representative postures called source key-postures. The animator then creates the corresponding key-postures of the target character, breathing his/her imagination and creativity into the output animation. Exploiting this correspondence, each input posture is cloned frame by frame to the target character to produce an initial animation, which is further adjusted in space and time for retargeting and timewarping and then finalized with some interactive fine tuning. With rich animation data available, our motion cloning method aims at rapid prototyping of an animation to verify an animator's concept at an early stage. Copyright © 2004 John Wiley & Sons, Ltd.