Projects tagged ‘openmpi’


[3 total ]

0 Users

Matrix Multiplication. FPUNA @ 2008Matrix Multiplication algorithms performance comparison. We compare diferent versions of algorithm including: - Sequential simple. - 1D y 2D parallel algorithm ... [More] implemented with pthreads. - ... The implementations are all made on C/C++, and correspond to a Practice Work for the "Design of Parallel Algorithms Course" from FPUNA. Matrix Multiplication parallel algorithm performance comparison. As a second part of the project, we compare four diferent parallel algorithms for solve the matrix multiplication of two square dense matrices. The algorithms compared are: - 2D with block-cyclic distribution. - Cannon - DNS - Diagonal 2D We use OpenMPI for implementation. [Less]
Created 12 months ago.

0 Users

Copyagent este un agent care determina continut identic parcurgand paginile de internet. El creaza o statistica a celor mai intalnite cuvinte, propozitii, articole. Pentru acest proiect am folosit ... [More] calculul paralel. <> Involves parallel computing. C, OpenMPI, MySQL, PHP [Less]
Created 12 months ago.

0 Users

SCEM (Shuffled Complex Evolution Metropolis) (or SCEM-UA) is a model calibration/ parameter optimization / inverse modeling technique proposed by Jasper Vrugt , which provides a crucial step in the ... [More] iterative process in which scientists confront their theories with observations. Within the context of a predetermined environmental model whose parameters cannot be measured via direct observation and for which realistic lower and upper bounds are known a priori, assume a set of measured model values at different time steps is available. The goal, then, is to determine the values of the model parameters that provide the best fit to the measured data, which in general requires a solution from a non linear and often non convex optimization. As opposed to local search procedures, SCEM-UA is a general purpose global optimization algorithm that provides an estimate of the most likely parameter set and its underlying posterior probability distribution. It is basically is an approximate Markov Chain Monte Carlo sampler, which generates a number of sequences of parameter sets that converges to the stationary posterior distribution for a large enough number of simulations. It is related to the SCE-UA global optimization method but uses the Metropolis-Hastings instead of the Downhill Simplex method for population evolution. The SCEM-UA algorithm starts by sampling an initial population of parameter sets randomly distributed within the given parameter intervals. Then the model is run for each parameter set θ. Thereupon, the posterior density p(θ|y) (or the chance of θ being the correct parameter set given the knowledge from measurements y) is computed from the model output and the measurements using a Bayesian inference scheme. The population of parameter sets is partitioned into q complexes, and in each complex k (k=1,2,...,q) a parallel sequence is launched by the SEM (Sequence Evolution Metropolis) algorithm from the point that exhibits the highest posterior density. It evolves each sequence and complex and a new candidate point in each sequence k is generated using a multivariate normal distribution either centered around the current draw of the sequence (k) or the mean of the points in complex (k) extended with the covariance structure induced between the points in complex k. The Metropolis-annealing criterion is used to test whether the candidate point should be added to the current sequence. The SEM sub-algorithm passes the new candidate point back to SCEM and subsequently the new candidate point randomly replaces an existing member of the complex. Finally, after a certain number of iterations (q*L) new complexes are formed through a process of shuffling. The Gelman and Rubin convergence statistic is calculated on the generated posterior densities to check whether convergence to a stationary target distribution has been achieved. SCEM stops optimizing when the convergence criterion is met or when the maximum number of iterations is reached. The sequential implementation works well for relatively simple optimization problem that do not require much computational time. However, for high-dimensional optimization problems involving large spatially distributed models, such as the ones used in earth sciences, a parallel approach should be considered. Most computational time in calibrating the parameters of environmental models is spent running the model code and generating the desired output, tasks which can be easily done in parallel. SCEM-UA's architecture in itself is embarrassingly parallel, i.e it can be decomposed into processes that are executed in parallel. More exactly, independent model simulations can run on different nodes of a distributed system. This takes place in two phases using the master-slave paradigm. In the first phase, the master samples (s) parameter combinations randomly from the prior distribution and distributes the evaluation of the fitness function for the individuals in the population over the slave processors. The slaves compute the posterior probabilities and send the results back to the master. In the second phase, the master sorts the points in decreasing order of the posterior probability distribution, initializes the starting points of the (k) sequences and builds the corresponding complexes. Then it generates and distributes the new candidate points to the slaves. Each slave evolves a different sequence and complex and sends the results to the master. The master unpacks the complexes back into the set and sorts the points in decreasing order of the posterior probability distribution, checks the convergence and, if necessary, re-iterates . This parallel implementation of the SCEM-UA algorithm is different from its sequential counterpart in two important ways. First, the evaluation of the fitness function for the individuals in the population is distributed over the slave processors, thereby avoiding excessively long execution times on a single processor. Second, each slave computer is set up to evolve a different sequence and complex, as this step does not require information exchange and communication between different nodes. In fact, this type of parallelism can be applied to almost any optimization algorithm which involves sequential evaluation of fitness functions. Parallel SCEM-UA is the adaptation of the SCEM-UA algorithm implemented in GNU Octave for multiprocessor distributed systems using the MPI standard (Open MPI) (enabled in Octave by MPITB). Parallel SCEM-UA will allow researchers to optimize the parameters of their complex models with better computational performance, which is crucial for high-dimensional optimization problems. Examples of applications are watershed models or prediction of migratory trajectories of passerine birds. [Less]
Created 8 months ago.