The Monte Carlo (MC) method is a simple but effective way to perform simulations involving complicated or multivariate functions. The Quasi-Monte Carlo (QMC) method is similar but replaces independent and identically ...
详细信息
This paper describes a model for specification and performance metrics of parallel programs. A specification metric qualifies and quantifies the abstraction of a code fragment written in some computer language. A perf...
详细信息
ISBN:
(纸本)9781932415490
This paper describes a model for specification and performance metrics of parallel programs. A specification metric qualifies and quantifies the abstraction of a code fragment written in some computer language. A performance metric describes the run-time effects of a specification. A brief statement of the model is presented. An application to a CIMPI program that describes specification and performance metrics is described.
The software library hypre provides high-performance preconditioners and solvers for the solution of large, sparse linear systems on massively parallel computers as well as conceptual interfaces that allow users to ac...
详细信息
The software library hypre provides high-performance preconditioners and solvers for the solution of large, sparse linear systems on massively parallel computers as well as conceptual interfaces that allow users to access the library in the way they naturally think about their problems. These interfaces include a stencil-based structured interface (Struct);a semistructured interface (semiStruct), which is appropriate for applications that are mostly structured, for example, block structured grids, composite grids in structured adaptive mesh refinement applications, and over-set grids;and a finite element interface (FEI) for unstructured problems, as well as a conventional linear-algebraic interface (IJ). It is extremely important to provide an efficient, scalable implementation of these interfaces in order to support the scalable solvers of the library, especially when using tens of thousands of processors. This article describes the data structures, parallel implementation, and resulting performance of the IJ, Struct and semiStruct interfaces. It investigates their scalability, presents successes as well as pitfalls of some of the approaches and suggests ways of dealing with them.
We describe how C++ programs that use the Standard Template Library (STL) can be systematically parallelized for shared-memory machines. We present our data-parallel template library (DatTeL) and its use in introducin...
详细信息
We describe how C++ programs that use the Standard Template Library (STL) can be systematically parallelized for shared-memory machines. We present our data-parallel template library (DatTeL) and its use in introducing parallelism into sequential STL programs. As a case study, we demonstrate how an STL implementation of the Barnes-Hut algorithm for solving many-body problems can be systematically transformed into a parallel, efficient version using DatTeL. We present experimental results for the multi-threaded version of the resulting parallel program on a SunFire multiprocessor.
Data distributions are an abstract notion for describing parallel programs by means of overlapping data structures. A generic data distribution layer serves as a basis for implementing specific data distributions over...
详细信息
Data distributions are an abstract notion for describing parallel programs by means of overlapping data structures. A generic data distribution layer serves as a basis for implementing specific data distributions over arbitrary algebraic data types and arrays as well as generic skeletons. The necessary communication operations for exchanging overlapping data elements are derived automatically from the specification of the over-lappings. This paper describes how the communication operations used internally by the generic skeletons are derived, especially for the asynchronous and synchronous communication scheduling. As a case study, we discuss the iterative solution of PDEs and compare a hand-coded MPI version with a skeletal one based on overlapping data distributions.
We define a denotational semantics for a kernel-calculus of the parallel functional language Eden. We choose continuations to deal with side-effects (process creation and communication) in a lazy context. The calculus...
详细信息
We define a denotational semantics for a kernel-calculus of the parallel functional language Eden. We choose continuations to deal with side-effects (process creation and communication) in a lazy context. The calculus includes streams for communication, and their modelization by a denotational semantics is not direct because a stream may be infinite.
A group of companies based in Scotland have clubbed together with the Edinburgh parallel Computing Centre (EPCC) to build a new type of supercomputer. Unlike the supercomputers which mostly use off-the-shelf microproc...
详细信息
A group of companies based in Scotland have clubbed together with the Edinburgh parallel Computing Centre (EPCC) to build a new type of supercomputer. Unlike the supercomputers which mostly use off-the-shelf microprocessors from companies such as Intel, this new design dispense with the fixed instruction sets of those processors. Instead, it works with software algorithms that are converted into hardware form: in a sense, the algorithms become the core instructions of this new computer. The Scottish supercomputer is made up of 64 field programmable gate arrays (FPGAs). The value of most FPGA technologies is that the devices can be reconfigured to handle a new task as many times as required.
IT is now a vital business tool, the aftermath of the dotcom bubble has left some questioning whether it offers any greater competitive advantage than access to a utility such as electricity. Microsoft needs to keep i...
详细信息
IT is now a vital business tool, the aftermath of the dotcom bubble has left some questioning whether it offers any greater competitive advantage than access to a utility such as electricity. Microsoft needs to keep innovating to provide demonstrable additional value in the products and services it introduces. Microsoft's UK head of research is looking at formal methods to try to cut bugs in software and better use of parallelism to deal with the new breed of multiprocessors.
The advantages of pattern-based programming have been well-documented in the sequential programming literature. However patterns have yet to make their way into mainstream parallel computing, even though several resea...
详细信息
The advantages of pattern-based programming have been well-documented in the sequential programming literature. However patterns have yet to make their way into mainstream parallel computing, even though several research tools support them. There are two critical shortcomings of pattern (or template) based systems for parallel programming: lack of extensibility and performance. This paper describes our approach for addressing these problems in the CO/sub 2/P/sub 3/S parallel programming system. CO/sub 2/P/sub 3/S supports multiple levels of abstraction, allowing the user to design an application with high-level patterns, but move to lower levels of abstraction for performance tuning. Patterns are implemented as parameterized templates, allowing the user the ability to customize the pattern to meet their needs. CO/sub 2/P/sub 3/S generates code that is specific to the pattern/parameter combination selected by the user. The MetaCO/sub 2/P/sub 3/S tool addresses extensibility by giving users the ability to design and add new pattern templates to CO/sub 2/P/sub 3/S. Since the pattern templates are stored in a system-independent format, they are suitable for storing in a repository to be shared throughout the user community.
In this paper, we present GASPARD (Graphical Array Specification for parallel and Distributed computing), our visual programming environment devoted to the development of parallel applications. Task and data paralleli...
详细信息
In this paper, we present GASPARD (Graphical Array Specification for parallel and Distributed computing), our visual programming environment devoted to the development of parallel applications. Task and data parallelism paradigms of parallel computing are mixed in GASPARD to achieve a simple programming interface. We use the printed circuit metaphor. The programmer specifies tasks and instantiates by plugging them into a slot (task parallelism). Data parallelism is achieved by specifying the data the task uses. By mixing textual and visual programming, we achieve a convenient interface useful for scientific programming. The interface is also well suited for meta-computing deployment. This kind of programming is very useful for numerical simulation.
暂无评论