espressomd-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ESPResSo] ghost_communicator


From: Axel Arnold
Subject: Re: [ESPResSo] ghost_communicator
Date: Sun, 26 Sep 2010 21:52:49 +0200
User-agent: KMail/1.13.2 (Linux/2.6.32-24-generic; KDE/4.4.2; x86_64; ; )

On Wednesday 15 September 2010, address@hidden wrote:
> Hi,
> 
> I am dealing with a system of N molecules of the  type:
> 
> 
>  p ------- v -------- p
> 
> 
> where p are real particles and v a virtual site.
> The code runs fine with one processor but it takes lot of time. I have
> run the same script but with 2 processors and I got the error
> cited below. I have taken a look into the code and it seems
> that in the subroutine  "void integrate_vv(int n_steps)"
> ESPRESSO stops when the function
> ghost_communicator(&cell_structure.update_ghost_pos_comm);
> is called.
> 
> Maybe you can help me with the following questions:
> 
> 1) What is the task of "ghost_communicator" subroutine and how to
> check if it is doing the task correctly?

ghost_communicator is performing the ghost communication, that is, sending the 
data of particles that are mirrored between different processors. The 
update_ghost_pos_comm is the operation which sends the positions from the 
processor with the real particles to the one with the ghosts. If you get a 
segfault in this routine, it basically can mean only two things: either, 
another routine is messing up the communication patterns in 
cell_structure.update_ghost_pos_comm, or some inconsistent MPI communication 
appeared before.

> 2) What is the name of the array which contains the positions
> and the velocities of all the particles in the system?

There is none. Look at e. g. init_forces() in forces.c, there are two loops 
over all ghost particles and real particles. The particles are stored in a 
struct Particle, which is defined in particle_data.h

> -----------------------------------------------------------------------
> [tamarau:27505] *** Process received signal ***
> [tamarau:27505] Signal: Segmentation fault (11)
> [tamarau:27505] Signal code: Address not mapped (1)
> [tamarau:27505] Failing at address: 0x5110
> [tamarau:27505] [ 0] /lib64/libpthread.so.0 [0x2b683783ba90]

Recompile Espresso with configure --enable-debug, then you should get a more 
precise picture where the error occurs. The pthread address is not informative 
at all, and ghost_communicator is a fairly complex routine, so a bit more 
information won't harm.

Axel

-- 
JP Dr. Axel Arnold      Tel: +49 711 685 67609
ICP, Universität Stuttgart      Email: address@hidden
Pfaffenwaldring 27
70569 Stuttgart, Germany



reply via email to

[Prev in Thread] Current Thread [Next in Thread]