Page 1 of 1

Multiprocessor run for linux hysplit dispersion

Posted: October 29th, 2014, 12:11 pm
by heatheryzy
Hi there,

I am trying to use multiprocessor to run the hysplit dispersion model on linux. I am not sure if I am using it in a right way.

When I execute the hycs_std, I use the command of:
$./../exec/run_mpi.sh 15 hycs_std
(trying to use 15 mpi)
But the calculation speed turns out the same with using a single processor.

I am just started to use linux hysplit. Are there any thing I need to take care when using the multiprocessor?

Thanks for help!

Re: Multiprocessor run for linux hysplit dispersion

Posted: October 29th, 2014, 2:50 pm
by ariel.stein
You should replace the hycs_std with hycm_std
$./../exec/run_mpi.sh 15 hycm_std

Re: Multiprocessor run for linux hysplit dispersion

Posted: October 29th, 2014, 3:00 pm
by heatheryzy
I cannot find the hycm_std in exec folder, do I need to recompile the model?

Re: Multiprocessor run for linux hysplit dispersion

Posted: October 29th, 2014, 4:39 pm
by ariel.stein
Yes, you will need to use the mpi options in the Makefile under the exec subdirectory

Re: Multiprocessor run for linux hysplit dispersion

Posted: October 29th, 2014, 4:46 pm
by heatheryzy
I manually add hycm_std in the exec/Makefile and recompile it. It generated hycm_std this time.
It seems to be working well when I rerun the MPI using:
$./../exec/run_mpi.sh 15 hycm_std
But it is still very slow (need about 3 hours to run a 120 hours dispersion). However, I use a EMITIMES file including 522 emission sources. Is the calculating speed seem reasonable? I am not sure if it really takes this long time or I can do something to increase the speed.

Re: Multiprocessor run for linux hysplit dispersion

Posted: October 30th, 2014, 9:46 am
by ariel.stein
It really depends on the processor speed. You should compare it with a run with only one processor.

Re: Multiprocessor run for linux hysplit dispersion

Posted: October 31st, 2014, 5:18 pm
by heatheryzy
Hi, I found that it was not faster when using 15 MPI compared with single one processor. But there is no error message either.
Would it be possible for you that providing a detailed compiling instruction for multiprocessor use please?
Thanks so much for help!

Re: Multiprocessor run for linux hysplit dispersion

Posted: November 3rd, 2014, 12:39 pm
by ariel.stein
You will need to modify the Makefile that is located under the exec subdirectory.
You can use 3 compilers pgi, ifortran, or ibm. You will need to uncomment the lines accordingly.
Make sure your hysplit libraries are compiled with the same compiler.
Then do a "make hycm_std"
To run it use the run_mpi.sh script.
You should get a number of MESSAGE files equal to the number of processors you are using. If not, that means that you are not running multiple processors.