Abstract-We propose an approach by integrating static and dynamic program analyses to detect threadsafety violations in hybrid MPI/OpenMP programs. We innovatively transform the thread-safety violation problems to race conditions problems. In our approach, the static analysis identifies a list of MPI calls related to thread-safety violations, then replaces them with our own MPI wrappers, which involve accesses to some specific shared variables. The static analysis avoids instrumenting unrelated code, which significantly reduces runtime overhead. In the dynamic analysis, both happen-before and lockset-based race detection algorithms are used to detect races on these aforementioned shared variables. By detecting races, we can identify thread-...
Concurrency is an indispensable programming paradigm and multi-threaded programs form the bedrock of...
This project investigated different types of data races that can exist within C code, and then incre...
Most systems that test and verify parallel programming, such as data race detectors and software tra...
International audienceMPI is the most widely used parallel programming model. But the reducing amoun...
Races in OpenMP programs must be detected because they may cause unintended nondeterministic results...
International audienceScientific applications mainly rely on the MPI parallel programming model to r...
pre-printNeither static nor dynamic data race detection methods, by themselves, have proven to be su...
Data races are a particularly unpleasant kind of threading bugs. They are hard to find and reproduce...
Parallel computing is pervasive. The variety and number of parallel hardware architectures increase...
International audienceSupercomputers are rapidly evolving with now millions of processing units, pos...
High-performance computing codes often combine the Message-Passing Interface (MPI) with a shared-mem...
MPI is the de-facto standard message-passing based parallel programming model. However, the bug dete...
The demand for ever-growing computing capabilities in scientific computing and simulation has led to...
Low level data-races in multi-threaded software are hard to detect, especially when requiring exhaus...
Abstract. Low level data-races in multi-threaded software are hard to detect, especially when requir...
Concurrency is an indispensable programming paradigm and multi-threaded programs form the bedrock of...
This project investigated different types of data races that can exist within C code, and then incre...
Most systems that test and verify parallel programming, such as data race detectors and software tra...
International audienceMPI is the most widely used parallel programming model. But the reducing amoun...
Races in OpenMP programs must be detected because they may cause unintended nondeterministic results...
International audienceScientific applications mainly rely on the MPI parallel programming model to r...
pre-printNeither static nor dynamic data race detection methods, by themselves, have proven to be su...
Data races are a particularly unpleasant kind of threading bugs. They are hard to find and reproduce...
Parallel computing is pervasive. The variety and number of parallel hardware architectures increase...
International audienceSupercomputers are rapidly evolving with now millions of processing units, pos...
High-performance computing codes often combine the Message-Passing Interface (MPI) with a shared-mem...
MPI is the de-facto standard message-passing based parallel programming model. However, the bug dete...
The demand for ever-growing computing capabilities in scientific computing and simulation has led to...
Low level data-races in multi-threaded software are hard to detect, especially when requiring exhaus...
Abstract. Low level data-races in multi-threaded software are hard to detect, especially when requir...
Concurrency is an indispensable programming paradigm and multi-threaded programs form the bedrock of...
This project investigated different types of data races that can exist within C code, and then incre...
Most systems that test and verify parallel programming, such as data race detectors and software tra...