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!
Multiprocessor run for linux hysplit dispersion
-
- Posts: 5
- Joined: October 23rd, 2014, 4:56 pm
- Registered HYSPLIT User: Yes
-
- Posts: 660
- Joined: November 7th, 2012, 3:14 pm
- Registered HYSPLIT User: Yes
Re: Multiprocessor run for linux hysplit dispersion
You should replace the hycs_std with hycm_std
$./../exec/run_mpi.sh 15 hycm_std
$./../exec/run_mpi.sh 15 hycm_std
-
- Posts: 5
- Joined: October 23rd, 2014, 4:56 pm
- Registered HYSPLIT User: Yes
Re: Multiprocessor run for linux hysplit dispersion
I cannot find the hycm_std in exec folder, do I need to recompile the model?
-
- Posts: 660
- Joined: November 7th, 2012, 3:14 pm
- Registered HYSPLIT User: Yes
Re: Multiprocessor run for linux hysplit dispersion
Yes, you will need to use the mpi options in the Makefile under the exec subdirectory
-
- Posts: 5
- Joined: October 23rd, 2014, 4:56 pm
- Registered HYSPLIT User: Yes
Re: Multiprocessor run for linux hysplit dispersion
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.
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.
-
- Posts: 660
- Joined: November 7th, 2012, 3:14 pm
- Registered HYSPLIT User: Yes
Re: Multiprocessor run for linux hysplit dispersion
It really depends on the processor speed. You should compare it with a run with only one processor.
-
- Posts: 5
- Joined: October 23rd, 2014, 4:56 pm
- Registered HYSPLIT User: Yes
Re: Multiprocessor run for linux hysplit dispersion
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!
Would it be possible for you that providing a detailed compiling instruction for multiprocessor use please?
Thanks so much for help!
-
- Posts: 660
- Joined: November 7th, 2012, 3:14 pm
- Registered HYSPLIT User: Yes
Re: Multiprocessor run for linux hysplit dispersion
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.
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.