parallel programming offers the ability to simultaneously improve the performance and reduce the energy consumption of software running on heterogeneous computing systems. Software developers have long preferred to av...
详细信息
parallel programming offers the ability to simultaneously improve the performance and reduce the energy consumption of software running on heterogeneous computing systems. Software developers have long preferred to avoid parallel programming, if possible, for reasons such as perceived difficulty, lack of portability between systems, and the pace of improvement in computer hardware. However, generational changes in computer hardware are now focused on specialized components and increased computational cores, and the continued evolution of these systems places increased emphasis on achieving improvements via the use of these components. This thesis investigates parallel programming techniques that make use of components common to modern heterogeneous systems, and proposes that the difficulty and lack of portability need not be barriers to large improvements. Using a variety of heterogeneous systems, algorithms were implemented and then transformed using multiple cores, SIMD execution units, and GPUs. Reductions in execution time ranging from 71-94% and energy consumption of 76-98% were observed, demonstrating the effectiveness of using specialized components for improved performance and reduced energy consumption.
Computationally intensive techniques that offer potential clinical use have arisen in nuclear medicine. Examples include iterative reconstruction, 3D PET data acquisition and reconstruction, and 3D image volume manipu...
详细信息
Computationally intensive techniques that offer potential clinical use have arisen in nuclear medicine. Examples include iterative reconstruction, 3D PET data acquisition and reconstruction, and 3D image volume manipulation including image registration. One obstacle in achieving clinical acceptance of these techniques is the computational time required. This study focuses on methods to reduce the computation time for 3D PET reconstruction through the use of fast computer hardware, vector and parallel programming techniques, and algorithm optimization. The strengths and weaknesses of i860 microprocessor based workstation accelerator boards are investigated in implementations of 3D PET reconstruction.
TODAY, THERE IS A HEALTHY DIVERSITY OF PROJECTS AIMING TO HARNESS JAVA FORSCIENTIFI(OR "GRANDE"COMPUTING. IN FACT, THIS DEPARTMENT LOOKED AT SEVERAL OF THESE APPROACHESIN A RECENT ARTICLE. HERE, WE WILL FOCU...
详细信息
TODAY, THERE IS A HEALTHY DIVERSITY OF PROJECTS AIMING TO HARNESS JAVA FORSCIENTIFI(OR "GRANDE"COMPUTING. IN FACT, THIS DEPARTMENT LOOKED AT SEVERAL OF THESE APPROACHESIN A RECENT ARTICLE. HERE, WE WILL FOCUS ON A particular project that's ongoing at our PervasiveTechnology Lab at Indiana University. The HPJava (high-performance Javaproject aims to supportscientifiand parallel computing in a modern, object-oriented, Internet-friendly environment―theJava platform. HPJava leverages popular high-performance Fortran (HPFlanguage and library featuressuch as "scientific" multidimensional array syntax and distributed arrays, while at a morelanguage-independent level, it introduces a slightly unusual parallel programming model, somewherein between the classical HPF and message-passing interface (MPIextremes. We'll say more about thislater. See the "HPJava History" sidebar for some of the language's developmental roots.
Jade, a high-level parallel programming language for managing coarse-grained parallelism, is discussed. Jade simplifies programming by providing sequential-execution and shared-address-space abstractions. It is also p...
详细信息
Jade, a high-level parallel programming language for managing coarse-grained parallelism, is discussed. Jade simplifies programming by providing sequential-execution and shared-address-space abstractions. It is also platform-independent; the same Jade program runs on uniprocessors, multiprocessors, and heterogeneous networks of machines. An example that illustrates how Jade programmers express irregular, dynamically determined concurrency and how the implementation exploits this source of concurrency is presented. A digital video imaging program that runs on a high-resolution video system and several other examples of Jade applications are described
Fire can significantly influence vegetation patterns in the Everglades. Unfortunately, fire is a difficult process to experimentally manipulate, especially at a landscape level. An Everglades Landscape fire model (ELF...
详细信息
Fire can significantly influence vegetation patterns in the Everglades. Unfortunately, fire is a difficult process to experimentally manipulate, especially at a landscape level. An Everglades Landscape fire model (ELFM) was developed using parallel-processing algorithms and transputer-processors to understand fire behavior in Water Conservation Area 2A (WCA 2A) in the Everglades. Fuel characteristics, water depth, wind velocity and direction, rainfall, lightning, and humidity determined the physical state and rate at which fire spreading and spotting occurred in the ELFM. The ELFM simulated fire spread across a heterogeneous landscape using a grid-based system. parallel processing enabled the model to simulate fire on a large spatial scale with fine resolution (i.e., 1755 x 1634 pixels with 20 x 20 m resolution). The model was designed as a multiprocessor program with the ability to compile and run on UNIX workstations, the CM-5 supercomputer, and Mac Transputers with no change in the code. The ELFM was used to conduct a series of fire experiments that indicated how current fire regimes differ from historical ones due to cattail (Typha spp.) invasion and longer and deeper water depths. In an Everglades dominated by cattail, the predicted average annual area burned and fire frequency were significantly reduced by 23% and 21%, respectively. The ELFM experiments also suggested that altered hydroperiod have changed fire patterns by reducing fire frequency 63% while increasing fire size during drought years. Airboat trails did not significantly influence total area burned in the ELFM. However, they did seem to function as breaks in upwind fires and tended to reduce the size of potentially large fires.
Historically, the principal achievement of compiler technology has been to make it possible to program in a high-level, machine-independent style. The absence of compiler technology to provide such a style for paralle...
详细信息
Historically, the principal achievement of compiler technology has been to make it possible to program in a high-level, machine-independent style. The absence of compiler technology to provide such a style for parallel computers is the main reason these systems have not found widespread acceptance. This paper examines the prospects for machine-independent parallel programming, concentrating on Fortran D and High Performance Fortran, which support machine-independent expression of ''data parallelism.''
Python is a widely used language in scientific computing. When the goal is high performance, however, Python lags far behind low-level languages such as C and Fortran. To support applications that stress performance, ...
详细信息
Python is a widely used language in scientific computing. When the goal is high performance, however, Python lags far behind low-level languages such as C and Fortran. To support applications that stress performance, Python needs to access the full capabilities of modern CPUs. That means support for parallel multithreading. In this article, we describe PyOMP, a system that enables OpenMP in Python. Programmers write code in Python with OpenMP, Numba generates code that compiles to LLVM, and the resulting programs run with performance that approaches that from code written with C and OpenMP. In this article, we provide an update on the PyOMP project and explain how to install it and use it to write parallel multithreaded code in Python.
Description: This support is commonly referred to as the parallel Patterns Library (PPL). There is also an example of how to use the Asynchronous Agents Library in conjunction with the PPL. You can use the patterns de...
详细信息
Description: This support is commonly referred to as the parallel Patterns Library (PPL). There is also an example of how to use the Asynchronous Agents Library in conjunction with the PPL. You can use the patterns described in this book to improve your application’s performance on multicore computers. Adopting the patterns in your code makes your application run faster today and also helps prepare for future hardware environments, which are expected to have an increasingly parallel computing ar
A novel two-step paradigm was used to investigate the parallel programming of consecutive, stimulus-elicited ('reflexive') and endogenous ('voluntary') saccades. The mean latency of voluntary saccades,...
详细信息
A novel two-step paradigm was used to investigate the parallel programming of consecutive, stimulus-elicited ('reflexive') and endogenous ('voluntary') saccades. The mean latency of voluntary saccades, made following the first reflexive saccades in two-step conditions, was significantly reduced compared to that of voluntary saccades made in the single-step control trials. The latency of the first reflexive saccades was modulated by the requirement to make a second saccade: first saccade latency increased when a second voluntary saccade was required in the opposite direction to the first saccade, and decreased when a second saccade was required in the same direction as the first reflexive saccade. A second experiment confirmed the basic effect and also showed that a second reflexive saccade may be programmed in parallel with a first voluntary saccade. The results support the view that voluntary and reflexive saccades can be programmed in parallel on a common motor map. (c) 2006 Elsevier Ltd. All rights reserved.
暂无评论