I modified Exciting code at version 0.9.151 to use both MPI and OpenMP parallelism. The parallelism is coarse-grained only, i.e over k-points; the fine-grained ScaLAPACK version turned out to scale very poorly over the number of processors.
I can email you the code if you are interested. Please keep in mind that I compiled it under Windows without using makefile and using Intel's MKL libraries. If you are using a different platform, you will have to figure out your ways. The code is not "beautified" in any way, however I tried to keep the modifications minimal. Also, it will take me some time to update the latest version 0.9.218.
andrei
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I got mpi parallelization for ground state working for v218. To get it working, I copied bunch of stuff from git mpi branch. When number of kpoints is greater than number of processors, mpi version is phenomenally faster. As a test, I compared runs using OpenMP version in 1 quad core node (= four threads) and using mpi in 4 quad nodes (= 16 processors) . The mpi version was around 15 times faster. MPI version seems to scale linearly up to 9 quad nodes (= 36 processors). (Haven't tested more than that, so it's not an upper limit.)
I guess other people will find mpi version quite useful, especially for big calculations. I do not have web space that is accessible from outside the lab, but I could put it up in the git archive if someone lets me and tells me how to do it.
Thanks,
Alaska
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
BTW, the most efficient and easy-to-implement parallelization would be MPI+OpenMP where MPI is used for main k-point loop and OpenMP - to setup and diagonalize Hamiltonian matrix with the use of threaded Lapack. MPI for k-point loop scales almost linearly.
But very often one has more processors than k-points and fine OpenMP parallelization could be helpful.
Good luck,
Anton.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Dear Andrei
I see you have successfully complied a parallel exciting, I will greatly appreciate if you email me(wuxb@lzu.cn) your exciting code ? i use intel MKL and OPENMP. Or can you teach me something about how to complie a parallel exciting coede?
Thank you very much!
Best regards!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I tried emailing you but got the following error message in reply:
----- The following addresses had permanent fatal errors ----- <wuxb@lzu.cn>
(reason: 550 <wuxb@lzu.cn>: Recipient address rejected: no such user here (eyou mta))
----- Transcript of session follows ----- ... while talking to antispam.lzu.edu.cn.:
>>> DATA
<<< 550 <wuxb@lzu.cn>: Recipient address rejected: no such user here (eyou mta) 550 5.1.1 <wuxb@lzu.cn>... User unknown <<< 554 Error: no valid recipients
andrei
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Dear Andrei
I am deeply sorry that i had made a mistake in my email adress, the right adress is
(wuxb07@lzu.cn or ganymede1314520@gmail.com), i am so sorry about my mistake! Could you email me the code again and teach me something about how to complie to MPI exciting ?
Thank you very much!
Best regards!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi all,
Searching the forum archives, it looks like people were working on MPI version of exciting. Can it be downloaded?
Thanks,
Alaska
Hi Alaska,
I modified Exciting code at version 0.9.151 to use both MPI and OpenMP parallelism. The parallelism is coarse-grained only, i.e over k-points; the fine-grained ScaLAPACK version turned out to scale very poorly over the number of processors.
I can email you the code if you are interested. Please keep in mind that I compiled it under Windows without using makefile and using Intel's MKL libraries. If you are using a different platform, you will have to figure out your ways. The code is not "beautified" in any way, however I tried to keep the modifications minimal. Also, it will take me some time to update the latest version 0.9.218.
andrei
Hi Andrei,
I will greatly appreciate if you email me the code at asubedi*AT*gmail*DOT*com. I use Intel libraries in linux. Hopefully, it will compile.
Thanks,
Alaska
Hi all,
I got mpi parallelization for ground state working for v218. To get it working, I copied bunch of stuff from git mpi branch. When number of kpoints is greater than number of processors, mpi version is phenomenally faster. As a test, I compared runs using OpenMP version in 1 quad core node (= four threads) and using mpi in 4 quad nodes (= 16 processors) . The mpi version was around 15 times faster. MPI version seems to scale linearly up to 9 quad nodes (= 36 processors). (Haven't tested more than that, so it's not an upper limit.)
I guess other people will find mpi version quite useful, especially for big calculations. I do not have web space that is accessible from outside the lab, but I could put it up in the git archive if someone lets me and tells me how to do it.
Thanks,
Alaska
Hi Alaska!
If you are looking for a place to upload code, you could try http://code.google.com/hosting/
BTW, the most efficient and easy-to-implement parallelization would be MPI+OpenMP where MPI is used for main k-point loop and OpenMP - to setup and diagonalize Hamiltonian matrix with the use of threaded Lapack. MPI for k-point loop scales almost linearly.
But very often one has more processors than k-points and fine OpenMP parallelization could be helpful.
Good luck,
Anton.
Hi,
I would like to use the MPI parallel version of exciting. Where can I download it?
Thanks,
Vardha Srinivasan.
Dear Andrei
I see you have successfully complied a parallel exciting, I will greatly appreciate if you email me(wuxb@lzu.cn) your exciting code ? i use intel MKL and OPENMP. Or can you teach me something about how to complie a parallel exciting coede?
Thank you very much!
Best regards!
Hi,
I tried emailing you but got the following error message in reply:
----- The following addresses had permanent fatal errors ----- <wuxb@lzu.cn>
(reason: 550 <wuxb@lzu.cn>: Recipient address rejected: no such user here (eyou mta))
----- Transcript of session follows ----- ... while talking to antispam.lzu.edu.cn.:
>>> DATA
<<< 550 <wuxb@lzu.cn>: Recipient address rejected: no such user here (eyou mta) 550 5.1.1 <wuxb@lzu.cn>... User unknown <<< 554 Error: no valid recipients
andrei
Hi Andrei,
I was looking for the MPI parallel version of exciting too. Could you also email me a copy of your code?
Thanking you
Sincerely,
Vardha Srinivasan.
(vardha@berkeley.edu)
Dear Andrei
I am deeply sorry that i had made a mistake in my email adress, the right adress is
(wuxb07@lzu.cn or ganymede1314520@gmail.com), i am so sorry about my mistake! Could you email me the code again and teach me something about how to complie to MPI exciting ?
Thank you very much!
Best regards!
Dear Andrei
I am looking for the MPI parallel version of exciting too. Could you also email me a copy of your code?
Thanking you
best wishes
Wei wang
wonvein@yahoo.com.cn
Dear Exciting users!
MPI version of exciting-0.9.224 is available here: http://code.google.com/p/lapw-mpi/source/checkout
with small explanations here: http://lapw.wikidot.com/exct-mpi
This is coarse grain k-point loop parallelization.
Cheers,
Anton.