running serpent in parallel

Compiler issues (Intel compiler, mpicc, etc.), data libraries and everything needed to get Serpent running is discussed here
Mohamed Salah
Posts: 9
Joined: Sat Jan 21, 2012 12:28 am

Re: running serpent in parallel

Post by Mohamed Salah » Thu Mar 27, 2014 2:18 am

Hi Jaakko,

yes, the MPI_tasks =1
and when the code running it gave me after the serpent logo the " parallel calculation mode available"

but it run individual tasks !?

User avatar
Jaakko Leppänen
Site Admin
Posts: 2167
Joined: Thu Mar 18, 2010 10:43 pm
Security question 2: 0
Location: Espoo, Finland
Contact:

Re: running serpent in parallel

Post by Jaakko Leppänen » Thu Mar 27, 2014 9:51 am

The MPI_TASKS variable shows the number of parallel tasks used for running the calculation, so it seems it was run with a single task only. Did you use mpirun or how did you run Serpent from the command line?
- Jaakko

Mohamed Salah
Posts: 9
Joined: Sat Jan 21, 2012 12:28 am

Re: running serpent in parallel

Post by Mohamed Salah » Thu Mar 27, 2014 8:04 pm

Hi

I run serpent from command prompt
1st. I am using 32 threading core, not parallel nodes computer
so as I running mcnp using "tasks for parallel threading" this is just notes

In Serpent, In command line I wrote
c:> sss -mpi 16 <input>
I reinstall mpirun and check it , it works
then I cleaning it "orte-clean"
but when I used mpirun -np 4 sss <input>
it run as individuals 4 core too !

do I need to reinstall serpent
or define the file path of the " mpirun" in the header.h file ?
or what can I do
thnx
mohamed

User avatar
Jaakko Leppänen
Site Admin
Posts: 2167
Joined: Thu Mar 18, 2010 10:43 pm
Security question 2: 0
Location: Espoo, Finland
Contact:

Re: running serpent in parallel

Post by Jaakko Leppänen » Sat Mar 29, 2014 12:00 pm

OK, so with
sss -mpi 16 <input>
you get 16 tasks within a single node, but with:
mpirun -np 4 sss <input>
you get 4 tasks each run on a separate node. Is this correct?

To me it seems that the problem is in the initialization of MPI. I believe the mpirun script reads the configuration from file "hostfile", and sets up the tasks accordingly. If the file is missing, there is probably some default configuration that is used. When you run Serpent with the command line option "-mpi", it actually calls mpirun to execute the calculation in parallel. It is possible that in this case the version of mpirun (or hostfile) is different from than what you get when you run mpirun from command line, which would explain the different behavior.

To solve the problem, I suggest you run the calculation directly with mpirun, i.e. withouth using the "-mpi" command line option, and try to figure out the configuration using the hostfile (you can find plenty of tutorials by googling "mpirun hostfile")
- Jaakko

MojoJojo
Posts: 11
Joined: Fri Jul 06, 2018 9:27 pm
Security question 1: No
Security question 2: 93
Location: Canada

Re: running serpent in parallel

Post by MojoJojo » Sun Oct 28, 2018 8:19 pm

My Linux distribution is fedora, version 28. I had a problem with executing the command, which is supposed to enable the OpenMP option as per the installation manual:

Code: Select all

CFLAGS += -DMPI
Which resulted in an error:

Code: Select all

bash: CFLAGS: command not found...
I solved this problem by simply removing the space left to the '+' and right to the '=':

Code: Select all

CFLAGS+=-DMPI
This solution is also applicable to the commands associated with setting up the GD library:

Code: Select all

LDFLAGS+=-ldg
instead of

Code: Select all

LDFLAGS += -ldg
and

Code: Select all

CFLAGS+=-DNO_GFX_MODE
instead of

Code: Select all

CFLAGS += -DNO_GFX_MODE
Name: Mohammed Mahdi
Occupation: MASc. Student
Research Interest: Liquid Fuel Molten Salt Reactor
Institution: McMaster University
Email Address: Mahdim4@mcmaster.ca

Post Reply