Message Passing Interface - a standard and highly portable parallel programming interface for distributed memory systems.

learn more… | top users | synonyms

7
votes
2answers
225 views

What's the difference between conjugate gradient method and biconjugate gradient method

What's the difference between these two methods? Can a problem be solved by one method will be able to solved by the other? Can both/or one of them be parallelized with OpenMP and/or MPI?
3
votes
0answers
32 views

BLACS context value and multiple MPI communicators

I am reposting here a question previously asked in stackoverflow: as suggested in a reply to my question, scicomp could be a better place to obtain some useful comments/suggestions for my problem. I ...
0
votes
1answer
124 views

Parallel 2d heat equation (implicit timestepping) using MPI

I am trying to solve the time dependent heat equation with backward euler timestepping and second order space finite differences. This results in a Poisson system needing to be inverted. In serial ...
1
vote
1answer
27 views

gather data from processors in FFTW3 MPI

The parallel FFTW3 distributes different portions of a large data to different processors, so that each processor obtains and manipulates only a small fraction of the large size data that wants to be ...
0
votes
1answer
37 views

Which version of FFTW

At the moment, I'm installing the "GADGET-2" application. In its documentation it says "Note that the MPI-capable version 2.x of FFTW is required, the new version 3 lacks MPI capability at this point. ...
1
vote
2answers
112 views

Stop process from continuing until others have finished MPI

I am looping an array using MPI. The problem is, i think that some processes are moving onto their next iteration before other precesses have finished theirs. This is causing me problems because data ...
1
vote
2answers
115 views

mpi retrieve a variable value from process with known rank to process that made an mpi_something call

I have a need to get a variable value from another process rank of which I know. This happens in context of a parallel solver of a "A x = b" equation, for which process with rank 0 knows matrix A, and ...
7
votes
1answer
181 views

Exploiting parallelism within a single heterogeneous computing node

I'm looking for a library to exploit parallelism within a single heterogeneous computing node (possibly using Accelerators like Xeon Phi or nVidia's GPGPU's) in a C++ FV/DG code using hierarchical ...
6
votes
3answers
244 views

Any recommendations for unit-testing frameworks compatible with code/libraries that use MPI?

Usually, I write serial code, and when I do, I write unit tests with some xUnit-style testing framework (MATLAB xUnit, PyUnit/nose, or Google's C++ testing framework). Based on a cursory Google ...
2
votes
3answers
323 views

When is MPI_Wait necessary for non-blocking calls?

I hope this is not too off-topic here -- I've asked it on SO but I'm hoping I'll get better answers here! I'm a little bit confused about when I should call MPI_Wait (or other variants such as: ...
7
votes
1answer
104 views

MPI policy for multiple asynchronous transfers

What is the policy of multiple overlapping asynchronous transfers in MPI? I have a program with several open asynchronous irecv operations. I find that transfers ...
20
votes
3answers
311 views

What features do users need from an MPI C++ interface?

The 3.0 version of the MPI standard formally deleted the C++ interface (it was previously deprecated). While implementations may still support it, features that are new in MPI-3 do not have a C++ ...
8
votes
4answers
232 views

What is an efficient way of notifying MPI processes of receiving messages?

In MPI, is there any built-in mechanism to notify a group of processes that they need to receive messages from other processes? In my application every process ...
1
vote
2answers
100 views

Looking for super computer technology sugestions

I'm writing some image processing software to detect bubbles in oil at work. One of the image filters I need (Perona Malik) seems like it will take a long time to compute. (It involves solving some ...
3
votes
3answers
221 views

Performance optimization or tuning possible for Scalapack Gemm?

I'm comparing the performance of distributed gemm, using Scalapack over OpenBLAS, with threaded gemm, using OpenBLAS. It seems quite hard for me to get scalapack to give better results than ...
2
votes
2answers
198 views

How to make Elemental Gemm run quickly?

How to make Elemental Gemm run quickly? I have the following code: ...
4
votes
1answer
189 views

Libraries for distributed-memory Cholesky factorization?

What libraries can compute dense Cholesky factorizations in distributed-memory environments (preferably using MPI). I'm using C/C++, and have access to a cluster of between 1 and 40 nodes, where each ...
1
vote
2answers
61 views

Reshaping a MultiVector in Trilinos

I'm using Trilinos for a problem and I have an Epetra_MultiVector object with 1 vector of length m*n*nFrames. I need to turn it ...
2
votes
2answers
98 views

MPI_Send/Recv not transmitting initial entries

Problem I'm building a simple MPI Send/Recv hello world in Fortran and am running into an odd error. I want to make sure I'm not missing anything trivial before blaming OpenMPI or gfortran. In the ...
2
votes
2answers
95 views

Is there MPI_Star instead of MPI_Win (window) for MPI_Get?

In FEM applications, each processor needs only data from neighboring processors, which gives a stencil or star pattern of communication. In MPI_Win for MPI_Get, one needs to setup a group of ...
3
votes
1answer
65 views

Library for solving a linear selection problem in a distributed memory machine

I need to solve a very large O(10^10) linear selection problem in a distributed memory machine, is there any library that will solve it for me? In shared memory ...
10
votes
3answers
191 views

Ways of visualizing event data in search of performance issues

I'm trying to optimize an MPI application with a highly asynchronous communication pattern. Each rank has a list of things to compute, and sends messages as necessary if the inputs or outputs reside ...
9
votes
2answers
516 views

Boost::mpi or C MPI for high performance scientific applications?

The thing I dislike most about MPI is dealing with datatypes (i.e. data maps/masks) because they don't fit that nicely with object oriented C++. boost::mpi only ...
3
votes
3answers
341 views

Is busy waiting on both MPI_Iprobe and MPI_Testsome efficient?

I have an MPI application that needs to asynchronously respond to both incoming messages and request completions inside a dedicated communication thread. The obvious way to do this is a busy wait ...
7
votes
2answers
467 views

Nonblocking version of MPI_Barrier in MPI 2

I have a bunch of MPI processes exchanging request messages back and forth. Processes do not know which other processes will send them messages, or how many. Given this situation, I want an ...
6
votes
2answers
256 views

Simulating the MPI_Isend/Irecv/Wait model with one-sided communication

I have a MPI computation with the following structure: each processor has a large region of read-only memory divided into chunks. During a compute epoch, each processor performs a (different) number ...
7
votes
4answers
306 views

Can MPI messages be prioritized?

As far as I understand, the order in which non-blocking point-to-point MPI messages (Isend and Irecv) are received is consistent with the order in which they are sent. Are there any techniques for ...
2
votes
2answers
574 views

Contiguous prime numbers with MPI (Want more ideas for an efficient algorithm)

I am a programmer. I am working with Message Passing Interface (MPI) in C. I do a program that consist on finding the contiguous prime from 1 to 10,000,000. I already do it! but I do it with trial ...
7
votes
2answers
775 views

How does the computational cost of an mpi_allgather operation compare with a gather/scatter operation?

I'm working on a problem that can be parallelized by using a single mpi_allgather operation or one mpi_scatter and one mpi_gather operation. These operations are called within a while loop, so they ...
3
votes
2answers
689 views

Is there an MPI All Gather operation for matrices?

I have a distributed matrix, in block column format. I know that I can reshape the matrix into one long vector and use an all_gatherv operation. I just wanted to avoid the trouble of having to ...
3
votes
1answer
327 views

Problems running a PETSc example in parallel

After configuring and building PETSc, I have successfully been able to run several examples. In particular, I am working with this example. I have been able to run the program using the following ...
1
vote
1answer
1k views

Compiling and running a “hello world” program in PETSc

I'm trying to compile a hello world program using PETSc, based off of this tutorial, slide 33 . How would I compile this? I know that I can't use a simple 'mpicc' command. When running the program, ...
3
votes
2answers
444 views

How do I compile a program that contains both MPI and OPENMP

I have a fortran 90 code that distributes blocks of computations (from a matrix) to multiple nodes in a cluster using MPI, but in each node, the for loops are executed in parallel using openmp. I ...
13
votes
3answers
718 views

Parallel I/O options, in particular parallel HDF5

I have an application that can be trivially parallelized but its performance is to a large extent I/O bound. The application reads a single input array stored in a file that is typically 2-5 GB in ...