We designed an introductory parallel programming course at the bachelor level. The class differs from other courses in its structure: The course is organized along the tiers of parallelism [25]. The tiers categorize a...
详细信息
Multi-core processors are ubiquitous in all market segments from embedded to high performance computing, but only few applications can efficiently utilize them. Existing parallel frameworks aim to support thread-level...
详细信息
Multi-core processors are ubiquitous in all market segments from embedded to high performance computing, but only few applications can efficiently utilize them. Existing parallel frameworks aim to support thread-level parallelism in applications, but the imposed overhead prevents their usage for small problem instances. This work presents Micro-threads (Mth) a hardware-software proposal focused on a shared thread management model enabling the use of parallel resources in applications that have small chunks of parallel code or small problem inputs by a combination of software and hardware: delegation of the resource control to the application, an improved mechanism to store and fill processor's context, and an efficient synchronization system. Four sample applications are used to test our proposal: HSL filter (trivially parallel), FFT Radix2 (recursive algorithm), LU decomposition (barrier every cycle) and Dantzig algorithm (graph based, matrix manipulation). The results encourage the use of Mth and could smooth the use of multiple cores for applications that currently can not take advantage of the proliferation of the available parallel resources in each chip.
The prevalence of multicore processors is bound to drive most kinds of software development towards parallel programming. To limit the difficulty and overhead of parallel software design and maintenance, it is crucial...
详细信息
A sequential program is difficult to parallelize often because of the complexity in its implementation and the uncertainty in its behavior. Behavior-oriented parallelization (bop) provides annotations for a user to ma...
详细信息
ISBN:
(纸本)9781450309424
A sequential program is difficult to parallelize often because of the complexity in its implementation and the uncertainty in its behavior. Behavior-oriented parallelization (bop) provides annotations for a user to mark possibly parallel tasks and a safe implementation to execute the annotated tasks in parallel if they produce the correct result - the same result as the sequential execution. The demonstration includes a description of the interface and two examples.
Simplified parallel programming coupled with an ability to express speculative computation is realized with Software Transactional Memory (STM). Although STMs are gaining popularity because of significant improvements...
详细信息
Power system state estimation is a fundamental computational process that requires both speed and reliability. To meet the needs, some variants of the constant Jacobian methods have been used in the industry over the ...
详细信息
Power system state estimation is a fundamental computational process that requires both speed and reliability. To meet the needs, some variants of the constant Jacobian methods have been used in the industry over the last several decades. The variants work very well under normal operating conditions with nominal values of the states. However, the convergence of the methods are not analysed mathematically and it may contain pitfalls. In this study. the convergence of the constant Jacobian methods are analysed and it is shown that the methods fail under high variations of the states. To increase the reliability of the processes, a multi-Jacobian method is proposed. Through simulation, a special case is shown for IEEE 68, and IEEE 118-bus systems where the Jacobian calculated with the nominal value fails, and the proposed multi-Jacobian method succeeds.
We show that program synthesis can generate GPU algorithms as well as their optimized implementations. Using the scan kernel as a case study, we describe our evolving synthesis techniques. Relying on our synthesizer, ...
详细信息
It is well known that modern functional programming languages are naturally amenable to parallel programming. Achieving efficient parallelism using functional languages, however, remains difficult. Perhaps the most im...
详细信息
Orléans Skeleton Library (OSL) is a library of parallel algorithmic skeletons in C++ on top of MPI. It provides a structured approach towards parallel programming. Skeletons in OSL are based over the bulk synchro...
详细信息
Sequential programs are often difficult to parallelize because of the complexity in their implementation and the uncertainty in their behavior. We will demonstrate behavior-oriented parallelization (BOP), which provid...
详细信息
暂无评论