Questions tagged [mpi]

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

Filter by
Sorted by
Tagged with
2 votes
1 answer
53 views

Passing a `MPI_Request*` to the send/recv functions

Below are two ways of writing what is seemingly (to me at least) exactly the same thing: ...
Gilles Poncelet's user avatar
2 votes
0 answers
61 views

Losing memory on each call to scalapack solve function

I am solving a large system of equations using scalapack. Some systems that should run with no problem failed, apparently due to lack of memory in an mpi call. After investigating with ...
mp_def's user avatar
  • 21
0 votes
2 answers
91 views

How to define a global index from local index and rank in parallel computing

Suppose I have 4 processes and each process has $n_i, i=0,1,2,3$ elements. In particular, with rank $0$, we have loc indices list $[0,1,\ldots, n_{0}-1]$ and $1$, we have loc indices list $[0,1,\ldots,...
Kumar's user avatar
  • 1
1 vote
1 answer
215 views

How does a blocking MPI all to all synchronization work?

I was trying to understand more in detail how a blocking MPI all to all really work. Of course, the actual all to all traffic is pretty straightforward, what I can't understand is how it is able to &...
Tommy95's user avatar
  • 11
3 votes
1 answer
2k views

Recommended CPU for CFD running parallel, FDS (Fire Dynamics Simulator)

I am purchasing a new workstation to run FDS (Fire Dynamics Simulator) simulations, a CFD code for thermally driven fluid flow. Currently, I am using an Ubuntu Linux build with a Xeon E5-2630 v3 @ 2....
John S.'s user avatar
  • 39
2 votes
1 answer
114 views

MPI vs OPENMP usage for boundary element method

I have an implementation question with MPI and OPENMP. I have a large three-dimensional surface mesh divided into elements. I want to loop over each element (outer loop) and compute an integral over ...
Debasish Das's user avatar
6 votes
1 answer
714 views

Causes for different results for different number of nodes in MPI

I am trying to develop what might be called legacy Fortran code from my group. Upon testing, I found that the program (which takes about a day to run on 20 processes) works when run on a single node (...
tmph's user avatar
  • 337
1 vote
2 answers
286 views

Affecting parts of an array outside MPI process efficiently

This was originally asked on Stackoverflow but instead of migrating it was suggested I repost here and delete that one. I've tried to clarify based on comments there. I'm new to MPI, but I am trying ...
tmph's user avatar
  • 337
0 votes
2 answers
444 views

Passing in user inputs with mpirun

I am building a quantum circuit simulator using mpi4py. The simulator takes user inputs to build the initial system and quantum gates the system passes through. I can get the code to work if I do not ...
Orphea12's user avatar
0 votes
1 answer
199 views

MPI_Test not progressing MPI_Isend/MPI_Irecv requests

I am running a CFD simulation with a 200,000-vertex mesh. I've decomposed the mesh into 2 load-balanced sub-domains to test my parallel implementation. In the specific function that I am time-...
niran90's user avatar
  • 233
2 votes
2 answers
130 views

Petsc Mat object in class

[Relatively new to Petsc] I am writing an object oriented project and my idea is to have parallel objects when the user constructs the object with MPI arguments. So have member data Mat and fill/...
zstreet's user avatar
  • 21
14 votes
3 answers
5k views

Why would you need frameworks like MPI when you can multi-task using threads?

MPI is an interface which enables us to create multiple processes to be run on a single machine or on a cluster of machines, and enables message passing or in short sorts of communication between ...
Shivam Jindal's user avatar
0 votes
0 answers
142 views

Petsc matrix with DM objects takes too much memory

I have been learning petsc recently and made a simple solver for stokes equation on 3D staggered grid. My code is running on server with 200GB ram, but if I run a solver on 256^3 grid, memory used by ...
Hoarsehinghing's user avatar
0 votes
3 answers
635 views

Parallel output in ASCII-format with MPI

After some parallel computations, I need to write the results in a file and for plotting reasons, I want them in ASCII format. Because of performance issues, I want to avoid to ...
John Snow's user avatar
  • 139
1 vote
1 answer
109 views

How to compute the mean 2D slice of a 3D set of data in MPI

I have a 3D set of data v(i,j,k), and I want to compute the mean 2D slice vmean(i,j) summing up the ...
John Snow's user avatar
  • 139
4 votes
4 answers
2k views

CPU usage when a MPI rank waits during a blocking communication

A typical way of dealing with I/O in MPI parallel programs is to either read all data to a single node and dispatch to the other nodes accordingly, or send all data to a single node and write from ...
G. Fougeron's user avatar
0 votes
1 answer
185 views

Why PETSc/MPI uses only 1 processor a number of times, rather than using several as prescribed by mpiexec [closed]

I am a beginner to PETSc and MPI, so after installing PETSc I was compiling some basic tutorial. But whenever I give the number of processors i.e mpiexec -n 4 ./ex1 ...
D Patel's user avatar
2 votes
1 answer
132 views

Send Petsc sequential matrix to another MPI rank

I am doing specific tests on matrices, so forgive me if this question doesn't seem related to Petsc typical use. I have a SEQAIJ matrix on one process and I need ...
Matthias Beaupère's user avatar
2 votes
0 answers
46 views

Best way of porting code from the GPU to MPI-nodes

I have a program, structured in two parts, $A$ and $B$. Both parts are capable of running as standalone units, and written in C++. $A$ is written for cluster systems, running entirely on CPU-nodes, ...
arc_lupus's user avatar
  • 543
2 votes
1 answer
3k views

Why my parallel code using MPI is much slower than the serial one?

I know that is not the first time someone asks this question but I'm really confused.I'm new to MPI, and I tried to implement the Jacobi solver for a linear system $Ax=b$. I want to compare the time ...
Spy123's user avatar
  • 21
1 vote
2 answers
88 views

Guaranteed equality between binary results with increasing MPI processes

Testing on an MPI scientific code for compressible flow dynamics I noticed that the results may depend on the number of processors used for the calculation. In fact, comparing the binary files they ...
John Snow's user avatar
  • 139
3 votes
3 answers
194 views

Writing a parallel version of an algorithm. Only which someparts are worth distributing

Say if I wanted to parallelise an algorithm. Only certain parts of this algorithm can be parallelised. The other parts are trivial and not worth distributing. Do I do all of these trivial calculations ...
HMPARTICLE's user avatar
0 votes
2 answers
647 views

How do I interpret the results from MPI_Wtime()?

Say, I have this code double start = MPI_Wtime(); ParallelMatrixVectorProductRotuine(...); double end = MPI_Wtime(); How do I interpret the numbers I am getting. ...
HMPARTICLE's user avatar
1 vote
2 answers
215 views

MPI data broadcast or not in C

I have two slightly different but getting the same results MPI code. The first one is from an open-source package having several data exchange steps in between: ...
user28208's user avatar
2 votes
1 answer
118 views

FFTW on subarray with MPI

With the guru interfaces of FFTW, I can apply transforms only to parts of a multidimensional array by modifying the fftw_iodim ...
Hannes's user avatar
  • 71
4 votes
0 answers
218 views

Can I MPI_Test for an Ibarrier

In this code, all processes post a barrier, sleep a while for good measure, then first Test and then Wait for the barrier. The <...
Victor Eijkhout's user avatar
1 vote
1 answer
2k views

General understanding of Intel MKL, threads and MPI

Preface I seem to lack a fundamental understanding of best practise recommendations given by Intels MKL user guides for using MKL in threaded applications. So let's clarify it together. Wording and ...
pbx's user avatar
  • 113
2 votes
5 answers
3k views

c++ Libraries for large linear system of equations

I am looking for libraries for solving large scale linear system (10e5) of equations using parallelization and shared memory. 1. Sparse, complex symmetric, SPD. 2. Suitable for higher order FEM ,...
Bullet's user avatar
  • 31
1 vote
0 answers
177 views

MPI_Finalize() only some processors

I want to develop a distributed algorithm with MPI which have load balancing capability. But there is a situation that I'm not very clear about, which is, when the number of tasks is less than the ...
user123's user avatar
  • 679
1 vote
2 answers
288 views

MapReduce with MPI question

I am doing an exercise using MPI to count frequencies of words distributed in several different files following similar steps in this instruction. But I met a problem with step 2. In my ...
user123's user avatar
  • 679
0 votes
2 answers
265 views

Halo Region Communication in Unstructured Mesh Problems

I'm currently using ParMETIS and it is required to determine the halo region of the local elements in a parallel unstructured mesh. Assume that the mesh is large and cannot be stored on a single ...
gpavanb's user avatar
  • 572
2 votes
1 answer
759 views

Distributed (MPI) matrix matrix multiplication

I perform matrix matrix multiplications (between rank-3 and rank-2 arrays) in fortran using following subroutine, ...
trblnc's user avatar
  • 125
0 votes
1 answer
366 views

setting COMM_WORLD size from petsc4py without mpiexec command line

I would like to create a parallel solver using petsc4py as one component of a larger application. I can easily get PETSc.COMM_WORLD.getSize() to be 4 by calling mpiexec -n 4 python my_prog.py ...
Ray Celmans's user avatar
2 votes
1 answer
320 views

All eigenpairs of large sparse symmetric matrix

In advance I am sorry for my noobish question. I am a physics PHD student and basically I use python for my math/physics problems. But now I have a problem which requires more computing capacity and ...
Baranas's user avatar
  • 123
0 votes
1 answer
183 views

checksum of a distributed variable

Let say I have N computers and 2 N-by-N matrices distributed across them called A and B. Matrix A is row distributed while B is column distributed. Therefore, processor i knows ...
user1824346's user avatar
5 votes
2 answers
635 views

Direct solvers and domain decomposition for FEM

In the finite element method, in order to use MPI, we need to decompose the domain into sub-domains first. Then my question is whether we can solve each sub-domain using a direct solver? Of course, ...
user2196452's user avatar
2 votes
3 answers
695 views

MPI in C, all processor run outside of the MPI envir created

I am new to MPI and am trying to figure out the subtleties in it, and for that reason I am just playing around with an easy example. The question I have is that when I run the code below with 2 ...
user20973's user avatar
2 votes
0 answers
76 views

Under what circumstances does Elemental's distributed SVD not work? [closed]

I am playing around with Elemental's distributed singular value decomposition and am running into two particular issues. Building the test at tests/lapack_like/SVD.cpp, and running with ...
AidanGG's user avatar
  • 21
2 votes
1 answer
110 views

Need help understanding cluster process managers and MPI

I apologize if this is a relative simple question. I am very new to setting up a cluster computer and I am attempting to make heads and tails of the information. I was reading on setting up a cluster ...
philm's user avatar
  • 489
1 vote
2 answers
1k views

How to determine MPI compatibility [closed]

I have recently acquired a server that I will be using for distributed simulations. However, I was wondering how do I determine which MPI version the server is compatible with? The reason that I am ...
philm's user avatar
  • 489
3 votes
1 answer
372 views

MPI support for discrete Fourier transform (DFT) in Python

I am looking for a discrete Fourier transform (DFT) library that can be run with MPI on Python. Usually, in other languages (C, Fortran) FFTW is used. There's a Python wrapper for FFTW called pyFFTW, ...
eimrek's user avatar
  • 215
2 votes
3 answers
490 views

State of the art in parallel data structures [closed]

I'm currently evaluating how I could implement several algorithms on a parallel computer with a large number of nodes, each also equipped with a powerful GPU. It turns out that for many algorithms, it ...
Michael's user avatar
  • 1,463
0 votes
2 answers
329 views

MPI+OpenMP Scalability

I have a numerical code which is MPI+OpenMP (hybrid) parallelized and an available computational resource of 32 nodes with 16 cores on each node. The code has been tested for MPI scalability up to 16 ...
boltz's user avatar
  • 83
5 votes
4 answers
3k views

What is "good" parallel scaling?

I often hear the phrase "good" or "bad" parallel scaling/efficiency. What exactly do people mean when they say that? For example, let $p = 1,\ldots 16$ be the number of processing elements, and A and ...
datguyray's user avatar
1 vote
2 answers
1k views

How does MPI differentiate between two computers?

I am starting to dabble in MPI. I am fairly new to this area and I am currently reading the MPI standard. I would like to write my first MPI program, a simple hello world program, on a cluster that ...
philm's user avatar
  • 489
10 votes
2 answers
256 views

Communication overhead in supercomputing

I am looking for credible references stating how much resources supercomputers spend on coordinating versus doing actual task-related work. Resources could be available processing power but even Watts ...
Tomas Creemers's user avatar
4 votes
2 answers
340 views

How does one write MPI-implementation-independent code?

Specifically, how does one go about writing code that works with, say, both MPICH and OpenMPI? I am currently in the process of cleaning up the build scripts and code for a distributed-memory ...
Geoff Oxberry's user avatar
0 votes
2 answers
508 views

efficient MPI collective non-blocking communication

I am facing a problem with MPI (Fortran). I have a really big matrix at each node and they differ at different nodes. At some point of my calculations, each node needs the matrix from all other nodes, ...
Katuru's user avatar
  • 19
1 vote
1 answer
344 views

Is there an implementation of MPI_AllReduce which handles sparse data better?

I need to synchronize intermediate solutions of an optimization problem solved distributively over a number of worker processors. The solution vector is known to be sparse. I have noticed that if I ...
Soumitra's user avatar
3 votes
1 answer
187 views

Balancing number of points in a 2D grid

In a parallel MPI code, I have load balancing issues. My 2D computational domain is distributed on a 2D MPI Cartesian topology, which leads to equal sized 2D sub-domains per MPI process. However, the ...
Gilles's user avatar
  • 141