Dear Adel thanks a lot. very useful. Best <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> Garanti sans virus. www.avast.com <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
Le lun. 7 sept. 2020 à 16:17, Abbout Adel <abbout.a...@gmail.com> a écrit : > Dear Adel, > > The post by Christoph you are referring to is just a reflection and an > invitation to think about parallelization in kwant. > It is not implemented in kwant. As the error message suggests, there is no > argument "comm=MPI.COMM_WORLD" in the scattering matrix. > > If you want to run your code in parallel, you can do a simple change in > your code as follows: > > > > > import numpy as np > import kwant > from mpi4py import MPI > comm = MPI.COMM_WORLD > rank = comm.Get_rank() > nprocessor = comm.size > > > def make_sys(): > ..... > ..... > return sys.finalized() > > > sys=make_sys() > energies=np.arange(k/nprocessor,(k+1)/nprocessor,20) > > T=[] > for energy in energies: > Sm=kwant.smatrix(sys,energy=energy) > T.append(Sm.transmission(0,1)) > > np.save("Transmission"+str(k)+".npy",np.array(T)) > > > > ########## > So, your code will return a number "nprocessor" .npy files of the > transmission, each one of them is for a range of energies. > > > I hope this helps > Adel > > > > > On Sun, Sep 6, 2020 at 2:43 PM Adel Belayadi <adelp...@gmail.com> wrote: > >> Dear user >> I hope you are doing well. >> I am having troubles when using parallel distribution to run my python >> script using kwant. >> >> I went through kwant discuss mailing list and tried to read about >> similar issues. I have red for instance the comment made by hristoph Groth >> Mon, 08 *Aug 2016 08:12:46 -0700.* >> >> >> *add "from mpi4py import MPI" in the preamble,• substitute >> kwant.smatrix(…) -> kwant.smatrix(…, comm=MPI.COMM_WORLD), • execute the >> script using "mpiexec", * >> >> I have got an error while using kwant.smatrix(comm=MPI.COMM_WORLD). >> kwant does not recognize comm >> >> TypeError: got an unexpected keyword argument 'comm' >> >> >> I have also tried without comm but with the following command >> OMP_NUM_THREADS=1 >> mpiexec -n 4 python file.py >> or >> mpirun.openmpi -n 4 -x OMP_NUM_THREADS=1 python file.py >> >> but I got the result 4 times >> >> Regards >> BELAYADI >> > > > -- > Abbout Adel >