10,134 research outputs found
Using eSkel to Implement the Multiple Baseline Stereo Application
We give an overview of the Edinburgh Skeleton Library eSkel, a structured parallel programming library which offers a range of skeletal parallel programming constructs to the C/MPI programmer. Then we illustrate the efficacy of such a high level approach through an application of multiple baseline stereo. We describe the application and show different ways to introduce parallelism using algorithmic skeletons. Some performance results will be reported
BSPlib Java Interface for Parallel Scientific Computing Applications
Selle lĂ”putöö eesmĂ€rk on BSPlib liidese loomine Java programmeerimiskeele jaoks, mis vĂ”imaldaks luua Bulk Synchronous Parallel (BSP) hajusarvutuse mudelil baseeruvaid Java programme. Loodavat liidest kasutatakse keerulise teadusarvutuse programmi paralleliseerimiseks, et illustreerida BSP kasutatavust teadusarvutuslike probleemide lahendamise jaoks. Selleks programmiks on valitud tahkete materjalide soojusjuhtivuse simuleerimine lineaarsĂŒsteemide lahedamise teel, mis on ÀÀrmiselt kommnikatsiooni-nĂ”udlik ning sobib seega vĂ€ga heaks nĂ€iteks. Lisaks BSP mudelile kasutatakse selle programmi paralleliseerimiseks ka kahte erinevat MPI hajusarvutuse liidest, millega vĂ”rreldes hinnatakse loodud BSP liidese effektiivsust ning skaleeruvust.This work presents a Java interface to a native BSPlib library for implementing parallel algorithms in a structured way (as described by the BSP model), using the Java programming language. To compare the created library to existing parallel programming solutions, a typical physics simulation application is created. It employs the parallel conjugate gradient method for solving systems of linear algebraic equations, a common scientific computing algorithm, which is challenging from a parallelization standpoint. Using the results from running the test application, the Java BSPlib interface is compared to various MPI (Message Passing Interface) implementations
Structured programming in MPI: a streaming framework experiment
The thesis describes the implementation of a structured programming environment providing stream parallel skeletons (pipelines and farms) implemented on top of MPI and targeting shared memory multicores.
The MPI framework performance is evaluated and the results
compared with the ones achieved when executing the same applications using FastFlow
Recommended from our members
Preparing sparse solvers for exascale computing.
Sparse solvers provide essential functionality for a wide variety of scientific applications. Highly parallel sparse solvers are essential for continuing advances in high-fidelity, multi-physics and multi-scale simulations, especially as we target exascale platforms. This paper describes the challenges, strategies and progress of the US Department of Energy Exascale Computing project towards providing sparse solvers for exascale computing platforms. We address the demands of systems with thousands of high-performance node devices where exposing concurrency, hiding latency and creating alternative algorithms become essential. The efforts described here are works in progress, highlighting current success and upcoming challenges. This article is part of a discussion meeting issue 'Numerical algorithms for high-performance computational science'
FullSWOF_Paral: Comparison of two parallelization strategies (MPI and SKELGIS) on a software designed for hydrology applications
In this paper, we perform a comparison of two approaches for the
parallelization of an existing, free software, FullSWOF 2D (http://www.
univ-orleans.fr/mapmo/soft/FullSWOF/ that solves shallow water equations for
applications in hydrology) based on a domain decomposition strategy. The first
approach is based on the classical MPI library while the second approach uses
Parallel Algorithmic Skeletons and more precisely a library named SkelGIS
(Skeletons for Geographical Information Systems). The first results presented
in this article show that the two approaches are similar in terms of
performance and scalability. The two implementation strategies are however very
different and we discuss the advantages of each one.Comment: 27 page
DART-MPI: An MPI-based Implementation of a PGAS Runtime System
A Partitioned Global Address Space (PGAS) approach treats a distributed
system as if the memory were shared on a global level. Given such a global view
on memory, the user may program applications very much like shared memory
systems. This greatly simplifies the tasks of developing parallel applications,
because no explicit communication has to be specified in the program for data
exchange between different computing nodes. In this paper we present DART, a
runtime environment, which implements the PGAS paradigm on large-scale
high-performance computing clusters. A specific feature of our implementation
is the use of one-sided communication of the Message Passing Interface (MPI)
version 3 (i.e. MPI-3) as the underlying communication substrate. We evaluated
the performance of the implementation with several low-level kernels in order
to determine overheads and limitations in comparison to the underlying MPI-3.Comment: 11 pages, International Conference on Partitioned Global Address
Space Programming Models (PGAS14
- âŠ