We calculate graphene molecule with 92 atoms by DFT on cluster. There are 3 node with 4 12-core processes on each in the cluster. What type of parallelize should we use for best acceleration? Our input file is here (atoms xyz is cut out):
molecule_configuration = MoleculeConfiguration(xyz_format=
"""60
geometry
C -4.27910 -2.53300 0.00000
…
H 8.21480 2.31410 0.00000
H 4.49440 4.49970 -0.00000
H 6.97860 4.47250 -0.00000""")
# -------------------------------------------------------------
# Calculator
# -------------------------------------------------------------
calculator = LCAOCalculator()
molecule_configuration.setCalculator(calculator)
nlprint(molecule_configuration)
molecule_configuration.update()
nlsave('nh3.nc', molecule_configuration)
# -------------------------------------------------------------
# Molecular energy spectrum
# -------------------------------------------------------------
molecular_energy_spectrum = MolecularEnergySpectrum(
configuration=molecule_configuration,
energy_zero_parameter=FermiLevel,
projection_list=ProjectionList(All)
)
nlsave('c42h18.nc', molecular_energy_spectrum)
nlprint(molecular_energy_spectrum)
We tried to run it in two threades by MVAPICH (
mpiexec –n 4 atkpython graphen.py > out.out
) on one node and have had deceleration from 32 to 34 min. Could you please to advise us something.