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.
One of the core mechanisms involved in the control of saccade responses to selected target stimuli is the disengagement from the current fixation location, so that the next saccade can be executed. To carry out everyd...
详细信息
One of the core mechanisms involved in the control of saccade responses to selected target stimuli is the disengagement from the current fixation location, so that the next saccade can be executed. To carry out everyday visual tasks, we make multiple eye movements that can be programmed in parallel. However, the role of disengagement in the parallel programming of saccades has not been examined. It is well established that the need for disengagement slows down saccadic response time. This may be important in allowing the system to program accurate eye movements and have a role to play in the control of multiple eye movements but as yet this remains untested. Here, we report two experiments that seek to examine whether fixation disengagement reduces saccade latencies when the task completion demands multiple saccade responses. A saccade contingent paradigm was employed and participants were asked to execute saccadic eye movements to a series of seven targets while manipulating when these targets were shown. This both promotes fixation disengagement and controls the extent that parallel programming can occur. We found that trial duration decreased as more targets were made available prior to fixation: this was a result both of a reduction in the number of saccades being executed and in their saccade latencies. This supports the view that even when fixation disengagement is not required, parallel programming of multiple sequential saccadic eye movements is still present. By comparison with previous published data, we demonstrate a substantial speeded of response times in these condition ("a gap effect") and that parallel programming is attenuated in these conditions.
parallel programming with tasks - task parallel programming - is a promising approach to simplifying multithreaded programming in the chip multiprocessor (CMP) era. Tasks are used to describe independent units of work...
详细信息
parallel programming with tasks - task parallel programming - is a promising approach to simplifying multithreaded programming in the chip multiprocessor (CMP) era. Tasks are used to describe independent units of work that can be assigned to threads at runtime in a way that is transparent to the programmer. Thus, the programmer can concentrate on identifying tasks and leave it to the runtime system to take advantage of the potential parallelism. Supporting the task abstraction on heterogeneous CMPs is more challenging than on conventional CMPs. In this article, we take a look at a lightweight task model and its implementation on the Cell processor, the most prominent heterogeneous CMP available today. Choosing a simple task model over a more complex one makes it possible to target fine-grained parallelism and still improve much in terms of programmability.
Research on mental model representations developed by programmers during parallel program comprehension is important for informing and advancing teaching methods including model-based learning and visualizations. The ...
详细信息
Research on mental model representations developed by programmers during parallel program comprehension is important for informing and advancing teaching methods including model-based learning and visualizations. The goals of the research presented here were to determine: how the mental models of programmers change and develop as they learn parallel programming, the quality of their mental models after learning parallel programming, and what type of information is part of their mental models when examining code for the presence of data races. Participants were experienced C programmers and included both university students and professionals. The mental models of participants were analyzed by having them perform a code tracing task where they externalized their mental models by drawing diagrams while tracing the execution of parallel code. We also analyzed their mental models by having participants determine the presence of data races in parallel code and then answer multiple choice and open-ended questions related to the code. The results presented in this article indicate that programmers' mental models progress from a weaker execution model and a stronger situation model before learning parallel programming, to a stronger execution model and a weaker situation model after learning parallel programming. The thematic analysis of the openended responses that indicate what components of code programmers used to determine whether or not a data race was present provides insight into the topics that should be emphasized when teaching parallel programming.
A comparison between two of the most promising environments, LINDA and PVM, used in parallel programming on homogeneous and heterogeneous networks, is presented. The tests consist in the implementation, by means of th...
详细信息
A comparison between two of the most promising environments, LINDA and PVM, used in parallel programming on homogeneous and heterogeneous networks, is presented. The tests consist in the implementation, by means of the above mentioned software system, of the most common types of data communication among the nodes of a cluster of RISC/6000. The results and the future improvements are discussed.
parallel computers are everywhere. Over the last few years, a change of paradigm occurred in the computer industry. Mainly due to power dissipation constraints and memory access time limitations, rather than increasin...
详细信息
暂无评论