Multiprocessor run for linux hysplit dispersion

Post any questions or comments regarding the LINUX version of HYSPLIT. This includes the model execution, GUIs, results, or graphics. Be sure to mention the version of LINUX you are using.
Post Reply
heatheryzy
Posts: 5
Joined: October 23rd, 2014, 4:56 pm
Registered HYSPLIT User: Yes

Multiprocessor run for linux hysplit dispersion

Post by heatheryzy » October 29th, 2014, 12:11 pm

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!

ariel.stein
Posts: 623
Joined: November 7th, 2012, 3:14 pm
Registered HYSPLIT User: Yes
Contact:

Re: Multiprocessor run for linux hysplit dispersion

Post by ariel.stein » October 29th, 2014, 2:50 pm

You should replace the hycs_std with hycm_std
$./../exec/run_mpi.sh 15 hycm_std

heatheryzy
Posts: 5
Joined: October 23rd, 2014, 4:56 pm
Registered HYSPLIT User: Yes

Re: Multiprocessor run for linux hysplit dispersion

Post by heatheryzy » October 29th, 2014, 3:00 pm

I cannot find the hycm_std in exec folder, do I need to recompile the model?

ariel.stein
Posts: 623
Joined: November 7th, 2012, 3:14 pm
Registered HYSPLIT User: Yes
Contact:

Re: Multiprocessor run for linux hysplit dispersion

Post by ariel.stein » October 29th, 2014, 4:39 pm

Yes, you will need to use the mpi options in the Makefile under the exec subdirectory

heatheryzy
Posts: 5
Joined: October 23rd, 2014, 4:56 pm
Registered HYSPLIT User: Yes

Re: Multiprocessor run for linux hysplit dispersion

Post by heatheryzy » October 29th, 2014, 4:46 pm

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.

ariel.stein
Posts: 623
Joined: November 7th, 2012, 3:14 pm
Registered HYSPLIT User: Yes
Contact:

Re: Multiprocessor run for linux hysplit dispersion

Post by ariel.stein » October 30th, 2014, 9:46 am

It really depends on the processor speed. You should compare it with a run with only one processor.

heatheryzy
Posts: 5
Joined: October 23rd, 2014, 4:56 pm
Registered HYSPLIT User: Yes

Re: Multiprocessor run for linux hysplit dispersion

Post by heatheryzy » October 31st, 2014, 5:18 pm

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!

ariel.stein
Posts: 623
Joined: November 7th, 2012, 3:14 pm
Registered HYSPLIT User: Yes
Contact:

Re: Multiprocessor run for linux hysplit dispersion

Post by ariel.stein » November 3rd, 2014, 12:39 pm

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.

Post Reply