近年來,多核心的處理器架構已經被廣為採用並成為業界的主流設 計。為了能夠有效的利用多核心處理器所帶來的效能,多執行緒程式 已經成為軟體開發上的必備的技巧。除了使用 POSIX threads (Pthreads) API 外,簡單、易讀且富有可攜性的多執行緒程式開發標準也被廣泛 的使用,而 OpenMP 便是其中的佼佼者。然而在享受多執行緒程式開 發所帶來的效能地同時卻延伸出一些棘手的問題,其中之一便是 data race。在這篇論文中,我們設計了一個應用在 OpenMP 程式上,動態 與靜態偵測 data race 的工具。 首先,我們利用 GCC 分析並編譯 OpenMP 程式,分析的結果可以 用來減少之後在執行期所需的檢測。接著再利用 LLVM 在透過觀察與 分析程式的行為進行更近一步的偵測。Multicore processors have become mainstream. Therefore, to exploit sil- icon resource effectively, multithreaded programming is critical. In addi- tion to the traditional POSIX threads API, other multithreaded APIs such as OpenMP have been proposed. OpenMP provide an interface that is easy to use, highly reliable, and portable. However, the effective exploitation of re- sources by multithread...
Races in OpenMP programs must be detected because they may cause unintended nondeterministic results...
Data races are notorious bugs. They introduce non-determinism in programs behavior, complicate progr...
Data races are notorious bugs. They introduce non-determinism in programs behavior, complicate progr...
由於多核心處理器已成為目前IT界之主流設計,所以當今多執行緒程式已經成為目前程式開發之主流模式。除了使用p-thread相關之API來開發多執行緒程式之外,使用較簡單且較快速的API來開發的多執行緒程...
pre-printNeither static nor dynamic data race detection methods, by themselves, have proven to be su...
多執行緒程式靠著額外的執行緒在多核心的系統上進行平行運算可以加速計算的進行。由於多執行緒程式有著競賽情況的隱憂,為了保證多執行緒系統的正確性,如何避免資料發生競賽情況是很重要的。 我們在這篇論文中提...
Parallel computing is pervasive. The variety and number of parallel hardware architectures increase...
Abstract. Low level data-races in multi-threaded software are hard to detect, especially when requir...
Data races are a type of bug in concurrent programming which can result in unexpected program behavi...
In the era of Exascale computing, writing efficient parallel programs is indispensable and at the sa...
In the era of Exascale computing, writing efficient parallel programs is indispensable, and, at the ...
Low level data-races in multi-threaded software are hard to detect, especially when requiring exhaus...
Abstract. We present new techniques for fast, accurate and scalable static race detection in concurr...
In this paper we present a precise data race detection tech-nique for distributed memory parallel pr...
This artifact contains the source code for a novel tool to detect determinacy races in OpenMP tasks,...
Races in OpenMP programs must be detected because they may cause unintended nondeterministic results...
Data races are notorious bugs. They introduce non-determinism in programs behavior, complicate progr...
Data races are notorious bugs. They introduce non-determinism in programs behavior, complicate progr...
由於多核心處理器已成為目前IT界之主流設計,所以當今多執行緒程式已經成為目前程式開發之主流模式。除了使用p-thread相關之API來開發多執行緒程式之外,使用較簡單且較快速的API來開發的多執行緒程...
pre-printNeither static nor dynamic data race detection methods, by themselves, have proven to be su...
多執行緒程式靠著額外的執行緒在多核心的系統上進行平行運算可以加速計算的進行。由於多執行緒程式有著競賽情況的隱憂,為了保證多執行緒系統的正確性,如何避免資料發生競賽情況是很重要的。 我們在這篇論文中提...
Parallel computing is pervasive. The variety and number of parallel hardware architectures increase...
Abstract. Low level data-races in multi-threaded software are hard to detect, especially when requir...
Data races are a type of bug in concurrent programming which can result in unexpected program behavi...
In the era of Exascale computing, writing efficient parallel programs is indispensable and at the sa...
In the era of Exascale computing, writing efficient parallel programs is indispensable, and, at the ...
Low level data-races in multi-threaded software are hard to detect, especially when requiring exhaus...
Abstract. We present new techniques for fast, accurate and scalable static race detection in concurr...
In this paper we present a precise data race detection tech-nique for distributed memory parallel pr...
This artifact contains the source code for a novel tool to detect determinacy races in OpenMP tasks,...
Races in OpenMP programs must be detected because they may cause unintended nondeterministic results...
Data races are notorious bugs. They introduce non-determinism in programs behavior, complicate progr...
Data races are notorious bugs. They introduce non-determinism in programs behavior, complicate progr...